42 if( hasVariableLength() ) {
43 if( value.capacity() < dest_pos + source_len ) {
46 if( value.size() != dest_pos + source_len ) {
47 value.resize( dest_pos + source_len );
50 if( value.size() < dest_pos + source_len ) {
54 value.put_bytes_nc(dest_pos, source, source_len);
59 if( hasVariableLength() ) {
60 if( value.capacity() < dest_pos + source_len ) {
63 if( value.size() != dest_pos + source_len ) {
64 value.resize( dest_pos + source_len );
67 if( value.size() < dest_pos + source_len ) {
71 value.put_bytes_nc(dest_pos, source, source_len);
77 case DBGattServer::Mode::NOP:
return "nop";
78 case DBGattServer::Mode::DB:
return "db";
79 case DBGattServer::Mode::FWD:
return "fwd";
81 return "Unknown mode";
static jau::cow_darray< DBGattServer::ListenerRef >::equal_comparator _listenerRefEqComparator
std::shared_ptr< Listener > ListenerRef
Mode
Operating mode of a DBGattServer instance.
bool removeListener(const ListenerRef &l)
std::string toString() const noexcept override
Implementation of a Copy-On-Write (CoW) using jau::darray as the underlying storage,...
constexpr_atomic bool push_back_unique(const value_type &x, equal_comparator comparator)
Like std::vector::push_back(), but only if the newly added element does not yet exist.
constexpr_atomic size_type erase_matching(const value_type &x, const bool all_matching, equal_comparator comparator)
Erase either the first matching element or all matching elements.
constexpr size_type size() const noexcept
Like std::vector::size().
std::string javaObjectToString() const noexcept
#define ERR_PRINT(...)
Use for unconditional error messages, prefix '[elapsed_time] Error @ FILE:LINE FUNC: '.
std::string to_string(const alphabet &v) noexcept
std::string to_string(const DiscoveryPolicy v) noexcept
uint_fast32_t nsize_t
Natural 'size_t' alternative using uint_fast32_t as its natural sized type.