nds2-client - ClientDeveloper  0.16.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Functions
NDS::detail Namespace Reference

Namespaces

 anonymous_namespace{nds_parameter_block.cc}
 

Classes

class  bash_pattern
 
class  nds1_channel_iterator
 
class  cached_channel_to_channel
 
class  sc2_to_channel_cache_transform
 
class  ChannelMatcher
 
struct  nds1_cached_channel
 
class  channel_cache_nds1
 
class  channel_selector
 
class  composer
 
class  basic_channel_filter
 A basic channel filter. More...
 
class  push_back_channel
 Provide a functor to push channels onto a vector. More...
 
class  count_channels
 A functor that counts the number of calls. More...
 
class  buffer_initializer
 
class  daq_accessor
 
struct  conn_p_type
 
class  continue_delay_handler
 
class  delayed_gap_handler
 
class  gap_handler
 
class  fixed_point_gap_handler
 
class  continuation_gap_handler
 
class  abort_gap_handler
 
class  iterate_handler
 
class  iterate_fast_handler
 
class  iterate_handler_with_simple_gaps
 
class  iterate_available_handler
 
class  iterate_full_handler
 
struct  param_gap_handler
 
struct  param_net_conn_info
 
class  parameter_block
 A parameter block describes parameters affecting the behavior of the NDS::connection. More...
 
class  parameter_accessor
 A parameter_accessor allows internal code to access the detail::parameter_block in a NDS::connection::parameters object. More...
 
struct  request_fragment
 

Typedefs

typedef std::vector
< request_fragment
request_fragments_type
 

Functions

std::ostream & dout ()
 
bool gaps_equivalent_pred (const simple_segment &e1, const simple_segment &e2)
 
bool gaps_equivalent (const simple_segment_list_type &l1, const simple_segment_list_type &l2)
 
std::string filter_trend_from_string (const std::string &input)
 
channel strip_trend_from_name (const channel &chan)
 
bool channel_type_less_than (const channel *c1, const channel *c2)
 
bool channel_type_equal (const channel *c1, const channel *c2)
 
std::string err_msg_malformed_channel (const std::string &name)
 
std::string err_msg_lookup_failure (const std::string &name, NDS::connection::protocol_type protocol)
 
template<typename It >
std::string err_msg_lookup_ambigous (const std::string &name, It dup_begin, It dup_end)
 
simple_availability_list_type get_availabilty (conn_p_type &conn_p, buffer::gps_second_type gps_start, buffer::gps_second_type gps_stop, const connection::channel_names_type channel_names)
 
template<class InputIterator1 , class InputIterator2 , class Function >
Function for_each2 (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Function fn)
 Apply a given function to all elements of two iteratables. More...
 
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class Function >
Function for_each3 (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator3 first3, Function fn)
 Apply a given function to all elements of three iteratables. More...
 
NDS::simple_segment_list_type simplify_availability_intl_cb (const NDS::availability &avail)
 
channel create_channel (const chan_req_t &Source)
 
bool availability_comp_intl (segment_list_type::value_type a, segment_list_type::value_type b)
 
void simplify_availability_intl (const availability &avail, simple_segment_list_type &output)
 
void simplify_availability_list_intl (const availability_list_type &avails, simple_availability_list_type &output)
 
bool is_numeric_substring (const std::string &ch, std::string::size_type start, std::string::size_type end)
 
std::string strip_rate_from_channel_name (const std::string &ch)
 
template<typename T , typename... Ts>
std::unique_ptr< T > make_unique (Ts &&...params)
 
bool str_to_bool (const std::string &input, bool &dest)
 Given a std::string extract a boolean value. More...
 
template<typename iter >
void split (iter first, iter last, char delim, std::vector< std::string > &dest)
 
void split (const std::string &inp, char delim, std::vector< std::string > &dest)
 
std::vector< std::string > split (const std::string &inp, char delim)
 

Typedef Documentation

Function Documentation

bool NDS::detail::availability_comp_intl ( segment_list_type::value_type  a,
segment_list_type::value_type  b 
)
bool NDS::detail::channel_type_equal ( const channel *  c1,
const channel *  c2 
)
bool NDS::detail::channel_type_less_than ( const channel *  c1,
const channel *  c2 
)
channel NDS::detail::create_channel ( const chan_req_t Source)
DLL_EXPORT std::ostream & NDS::detail::dout ( )
template<typename It >
std::string NDS::detail::err_msg_lookup_ambigous ( const std::string &  name,
It  dup_begin,
It  dup_end 
)
std::string NDS::detail::err_msg_lookup_failure ( const std::string &  name,
NDS::connection::protocol_type  protocol 
)
std::string NDS::detail::err_msg_malformed_channel ( const std::string &  name)
DLL_EXPORT std::string NDS::detail::filter_trend_from_string ( const std::string &  input)
template<class InputIterator1 , class InputIterator2 , class Function >
Function NDS::detail::for_each2 ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
Function  fn 
)

Apply a given function to all elements of two iteratables.

Parameters
[in]first1Start of the first range
[in]last1End of the first range
[in]first2Start of the second range
[in]fnFunction to apply
Returns
fn
Remarks
This iterates on [first1, last1). First2 must have at least enough entries to as are contained in [first1, last1). fn is called as fn(cur_list1, cur_list2)
template<class InputIterator1 , class InputIterator2 , class InputIterator3 , class Function >
Function NDS::detail::for_each3 ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator3  first3,
Function  fn 
)

Apply a given function to all elements of three iteratables.

Parameters
[in]first1Start of the first range
[in]last1End of the first range
[in]first2Start of the second range
[in]first3Start of the third range
[in]fnFunction to apply
Returns
fn
Remarks
This iterates on [first1, last1). Each sequence first2, first3 must have at least enough entries to as are contained in [first1, last1). fn is called as fn(cur_list1, cur_list2, cur_list3)
bool NDS::detail::gaps_equivalent ( const simple_segment_list_type &  l1,
const simple_segment_list_type &  l2 
)
bool NDS::detail::gaps_equivalent_pred ( const simple_segment &  e1,
const simple_segment &  e2 
)
simple_availability_list_type NDS::detail::get_availabilty ( conn_p_type &  conn_p,
buffer::gps_second_type  gps_start,
buffer::gps_second_type  gps_stop,
const connection::channel_names_type  channel_names 
)
bool NDS::detail::is_numeric_substring ( const std::string &  ch,
std::string::size_type  start,
std::string::size_type  end 
)
template<typename T , typename... Ts>
std::unique_ptr< T > NDS::detail::make_unique ( Ts &&...  params)

A make_unique<> for C++11. Taken from "Effective Modern C++ by Scott Meyers (O'Reilly). Copyright 2015 Scott Meyers, 978-1-491-90399-5"

Permission given in the book to reuse code segments.

Template Parameters
TThe type of the object to be managed by the unique_ptr
TsThe type of the arguments to T's constructor
Parameters
paramsThe arguments to forward to the constructor
Returns
a std::unique_ptr<T>
void NDS::detail::simplify_availability_intl ( const availability &  avail,
simple_segment_list_type &  output 
)
NDS::simple_segment_list_type NDS::detail::simplify_availability_intl_cb ( const NDS::availability &  avail)
inline
void NDS::detail::simplify_availability_list_intl ( const availability_list_type &  avails,
simple_availability_list_type &  output 
)
template<typename iter >
void NDS::detail::split ( iter  first,
iter  last,
char  delim,
std::vector< std::string > &  dest 
)
void NDS::detail::split ( const std::string &  inp,
char  delim,
std::vector< std::string > &  dest 
)
inline
std::vector< std::string > NDS::detail::split ( const std::string &  inp,
char  delim 
)
inline
bool NDS::detail::str_to_bool ( const std::string &  input,
bool &  dest 
)

Given a std::string extract a boolean value.

Parameters
inputstd::string input
destboolean value extracted from the string
Returns
true if a value could be extracted, else false if dest is unchanged.
std::string NDS::detail::strip_rate_from_channel_name ( const std::string &  ch)
DLL_EXPORT channel NDS::detail::strip_trend_from_name ( const channel &  chan)