8 #define DRIPLINE_API_EXPORTS
14 LOGGER(
dlog,
"specifier" );
22 if( ! a_rk.empty() )
add_next( a_rk );
27 while( ! empty() ) pop_front();
36 for( container_type::const_iterator t_it = this->begin(); t_it != this->end(); ++t_it )
47 if( t_div_pos == a_addr.npos )
52 push_back( a_addr.substr( 0, t_div_pos ) );
53 add_next( a_addr.substr( t_div_pos + 1 ) );
60 f_unparsed( a_unparsed )
62 LTRACE(
dlog,
"Creating specifier <" << a_unparsed <<
">" );
63 if( ! a_unparsed.empty() )
add_next( a_unparsed );
68 f_unparsed( a_orig.f_unparsed )
73 f_unparsed( std::move( a_orig.f_unparsed ) )
82 container_type::operator=( a_orig );
83 f_unparsed = a_orig.f_unparsed;
89 container_type::operator=( a_orig );
90 f_unparsed = std::move(a_orig.f_unparsed);
96 LTRACE(
dlog,
"Parsing <" << a_unparsed <<
">" );
98 while( ! empty() ) pop_front();
100 f_unparsed = a_unparsed;
102 if( a_unparsed.empty() )
return;
110 std::string t_return;
111 for( container_type::const_iterator t_it = this->begin(); t_it != this->end(); ++t_it )
122 if( t_div_pos == a_addr.npos )
127 push_back( a_addr.substr( 0, t_div_pos ) );
128 add_next( a_addr.substr( t_div_pos + 1 ) );
void parse(const std::string &a_rk)
Parses a routing key.
std::string to_string() const
Converts the routing-key tokens into a single string.
void add_next(const std::string &a_addr)
static const char f_node_separator
routing_key(const std::string &a_rk="")
Parses specifiers and stores the tokenized information.
specifier(const std::string &a_unparsed="")
std::deque< std::string > container_type
const specifier & operator=(const specifier &a_orig)
void parse(const std::string &a_unparsed)
Parse a new specifier.
std::string to_string() const
Converts specifier tokens into a single string.
void add_next(const std::string &a_addr)
static const char f_node_separator
static ::scarab::logger_type< ::scarab::spd_initializer_async_stdout_color_mt > dlog("agent", __FILE_NAME__, __LINE__)
static ::scarab::logger_type< ::scarab::spd_initializer_async_stdout_color_mt > dlog("specifier", __FILE_NAME__, __LINE__)