8 #define DRIPLINE_API_EXPORTS 14 LOGGER(
dlog,
"specifier" );
22 if( ! a_rk.empty() )
add_next( a_rk );
31 while( ! empty() ) pop_front();
40 for( container_type::const_iterator t_it = this->begin(); t_it != this->end(); ++t_it )
51 if( t_div_pos == a_addr.npos )
56 push_back( a_addr.substr( 0, t_div_pos ) );
57 add_next( a_addr.substr( t_div_pos + 1 ) );
64 f_unparsed( a_unparsed )
66 LTRACE(
dlog,
"Creating specifier <" << a_unparsed <<
">" );
67 if( ! a_unparsed.empty() )
add_next( a_unparsed );
72 f_unparsed( a_orig.f_unparsed )
77 f_unparsed(
std::move( a_orig.f_unparsed ) )
86 container_type::operator=( a_orig );
87 f_unparsed = a_orig.f_unparsed;
93 container_type::operator=( a_orig );
94 f_unparsed = std::move(a_orig.f_unparsed);
100 LTRACE(
dlog,
"Parsing <" << a_unparsed <<
">" );
102 while( ! empty() ) pop_front();
104 f_unparsed = a_unparsed;
106 if( a_unparsed.empty() )
return;
114 std::string t_return;
115 for( container_type::const_iterator t_it = this->begin(); t_it != this->end(); ++t_it )
126 if( t_div_pos == a_addr.npos )
131 push_back( a_addr.substr( 0, t_div_pos ) );
132 add_next( a_addr.substr( t_div_pos + 1 ) );
std::string to_string() const
Converts specifier tokens into a single string.
static scarab::logger dlog("specifier")
specifier(const std::string &a_unparsed="")
void add_next(const std::string &a_addr)
routing_key(const std::string &a_rk="")
std::deque< std::string > container_type
void parse(const std::string &a_unparsed)
Parse a new specifier.
static scarab::logger dlog("agent")
std::string to_string() const
Converts the routing-key tokens into a single string.
static const char f_node_separator
void add_next(const std::string &a_addr)
void parse(const std::string &a_rk)
Parses a routing key.
const specifier & operator=(const specifier &a_orig)
Parses specifiers and stores the tokenized information.
static const char f_node_separator