Skip to content

Commit 4cfd465

Browse files
committed
Clean up documentation
1 parent f2111e6 commit 4cfd465

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

doc/dox.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -514,22 +514,22 @@ EXTRACT_ANON_NSPACES = NO
514514
# section is generated. This option has no effect if EXTRACT_ALL is enabled.
515515
# The default value is: NO.
516516

517-
HIDE_UNDOC_MEMBERS = NO
517+
HIDE_UNDOC_MEMBERS = YES
518518

519519
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
520520
# undocumented classes that are normally visible in the class hierarchy. If set
521521
# to NO, these classes will be included in the various overviews. This option
522522
# has no effect if EXTRACT_ALL is enabled.
523523
# The default value is: NO.
524524

525-
HIDE_UNDOC_CLASSES = NO
525+
HIDE_UNDOC_CLASSES = YES
526526

527527
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
528528
# declarations. If set to NO, these declarations will be included in the
529529
# documentation.
530530
# The default value is: NO.
531531

532-
HIDE_FRIEND_COMPOUNDS = NO
532+
HIDE_FRIEND_COMPOUNDS = YES
533533

534534
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
535535
# documentation blocks found inside the body of a function. If set to NO, these
@@ -889,7 +889,7 @@ EXCLUDE_PATTERNS =
889889
# Note that the wildcards are matched against the file with absolute path, so to
890890
# exclude all test directories use the pattern */test/*
891891

892-
EXCLUDE_SYMBOLS =
892+
EXCLUDE_SYMBOLS = T, Deleter, enable_observer_from_this_base, inherit_as_virtual, ptr_and_deleter, details
893893

894894
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
895895
# that contain example code fragments that are included (see the \include

include/oup/observable_unique_ptr.hpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ struct sealed_policy {
117117
using observer_policy = default_observer_policy;
118118
};
119119

120+
/// Metaprogramming class to query a policy for implementation choices
120121
template<typename Policy>
121122
struct policy_queries {
122123
// Check for incompatibilities in policy
@@ -128,33 +129,40 @@ struct policy_queries {
128129
using policy = Policy;
129130
using observer_policy = typename Policy::observer_policy;
130131

132+
/// Does @ref basic_enable_observer_from_this use virtual inheritance?
131133
static constexpr bool eoft_base_is_virtual() noexcept {
132134
return Policy::allow_eoft_multiple_inheritance &&
133135
!Policy::eoft_constructor_takes_control_block;
134136
}
135137

138+
/// Does @ref basic_enable_observer_from_this need a control block in its constructor?
136139
static constexpr bool eoft_base_constructor_needs_block() noexcept {
137140
return Policy::eoft_constructor_takes_control_block;
138141
}
139142

143+
/// Does @ref basic_enable_observer_from_this allocate in its constructor?
140144
static constexpr bool eoft_constructor_allocates() noexcept {
141145
return !Policy::is_sealed && Policy::allow_eoft_in_constructor &&
142146
!Policy::eoft_constructor_takes_control_block;
143147
}
144148

149+
/// Does @ref basic_observable_ptr allow releasing and acquiring raw pointers?
145150
static constexpr bool owner_allow_release() noexcept {
146151
return !Policy::is_sealed;
147152
}
148153

154+
/// Does @ref make_observable produce a single allocation?
149155
static constexpr bool make_observer_single_allocation() noexcept {
150156
return Policy::is_sealed;
151157
}
152158
};
153159

160+
/// Metaprogramming class to query an observer policy for implementation choices
154161
template<typename Policy>
155162
struct observer_policy_queries {
156163
using observer_policy = Policy;
157164

165+
/// Storage type for the control block
158166
using control_block_storage_type = typename details::unsigned_least<
159167
1 + details::ceil_log2(observer_policy::max_observers)>::type;
160168
};
@@ -225,7 +233,6 @@ class basic_control_block final {
225233
};
226234

227235
namespace details {
228-
229236
template<typename Policy>
230237
struct enable_observer_from_this_base {
231238
/// Policy for the control block
@@ -362,7 +369,7 @@ class basic_observable_ptr final {
362369
/// Deleter type
363370
using deleter_type = Deleter;
364371

365-
protected:
372+
private:
366373
control_block_type* block = nullptr;
367374
details::ptr_and_deleter<T, Deleter> ptr_deleter;
368375

@@ -1210,7 +1217,7 @@ namespace details {
12101217
};
12111218
}
12121219

1213-
/// Enables creating an @ref observer_ptr from `this`.
1220+
/// Enables creating a @ref basic_observer_ptr from `this`.
12141221
/** If an object is owned by a @ref basic_observable_ptr and must be able to create an observer
12151222
* pointer to itself, without having direct access to the owner pointer,
12161223
* then the object's class can inherit from @ref basic_enable_observer_from_this.

0 commit comments

Comments
 (0)