senf Namespace Reference


Namespaces

namespace   console
namespace   detail
namespace   format
namespace   log
namespace   mpl
namespace   phoenix
namespace   ppi
namespace   scheduler
namespace   term
namespace   test

Classes

class   WLANInfoElementParser
struct   WLANSSIDInfoElementParser
struct   WLANSupportedRatesInfoElementParser
struct   WLANPowerConstraintInfoElementParser
struct   RadiotapPacketParser_Flags
struct   RadiotapPacketParser_ChannelOptions
struct   RadiotapPacketParser_RxFlags
struct   RadiotapPacketParser_TxFlags
struct   RadiotapPacketParser_Header
struct   RadiotapPacketParser_FrameType
struct   RadiotapPacketParser
struct   RadiotapPacketType
struct   WLANBeaconPacketParser
struct   WLANBeaconPacketType
struct   WLANPacketParser
struct   WLANPacket_MgtFrameParser
struct   WLANPacket_MgtFrameType
struct   WLANPacket_CtrlFrameParser
struct   WLANPacket_CtrlFrameType
struct   WLANPacket_DataFrameParser
struct   WLANPacket_DataFrameType
struct   MIHTLVLengthException
struct   InvalidMIHPacketException
class   MIHMessageRegistry
struct   MIHPacketParser
struct   MIHPacketType
struct   MIHGenericPayloadPacketParser
struct   MIHGenericPayloadPacketType
class   MIHFId
class   MIHTLVLengthParser
class   MIHBaseTLVParser
struct   MIHGenericTLVParser
struct   MIHBaseListTLVParser
struct   MIHListTLVParserMixin
class   MIHFIdTLVParser
struct   MIHFSrcIdTLVParser
struct   MIHFDstIdTLVParser
struct   MIHStatusTLVParser
struct   MIHRegisterReqCodeTLVParser
struct   MIHValidTimeIntervalTLVParser
struct   ArrayParser
struct   DataPacketType
struct   MACAddressParser
struct   EthernetPacketParser
struct   EtherTypes
struct   EthernetPacketType
struct   EthVLanPacketParser
struct   EthVLanPacketType
struct   EUI64Parser
struct   ICMPv6PacketParser
struct   ICMPTypes
struct   ICMPv6PacketType
struct   ICMPv6EchoRequestParser
struct   ICMPv6EchoRequestType
struct   ICMPv6EchoReplyParser
struct   ICMPv6EchoReplyType
struct   ICMPv6ErrDestUnreachableParser
struct   ICMPv6ErrDestUnreachableType
struct   ICMPv6ErrTooBigParser
struct   ICMPv6ErrTooBigType
struct   ICMPv6ErrTimeExceededParser
struct   ICMPv6ErrTimeExceededType
struct   ICMPv6ErrParamProblemParser
struct   ICMPv6ErrParamProblemType
struct   MLDv2ListenerQueryParser
struct   MLDv2ListenerQueryType
struct   MLDv2AddressRecordParser
struct   MLDv2ListenerReportParser
struct   MLDv2ListenerReportType
struct   NDPRouterSolicitationParser
struct   NDPRouterSolicitationMessageType
struct   NDPRouterAdvertisementParser
struct   NDPRouterAdvertisementMessageType
struct   NDPNeighborSolicitationParser
struct   NDPNeighborSolicitationMessageType
struct   NDPNeighborAdvertisementParser
struct   NDPNeighborAdvertisementMessageType
struct   NDPRedirectParser
struct   NDPRedirectMessageType
struct   INet4AddressParser
struct   IPv4PacketParser
struct   IpTypes
struct   IPv4PacketType
struct   IPv6FragmentPacketParser
struct   IPv6FragmentPacketType
struct   IPv6RoutingPacketParser
struct   IPv6RoutingPacketType
struct   IPv6HopByHopOptionsPacketParser
struct   IPv6HopByHopOptionsPacketType
struct   IPv6DestinationOptionsPacketParser
struct   IPv6DestinationOptionsPacketType
class   IPv6OptionParser
struct   INet6AddressParser
struct   IPv6PacketParser
struct   IPv6PacketType
struct   LlcSnapPacketParser
struct   LlcSnapPacketType
struct   NDPOptionParser
struct   NDPGenericOptionParser
struct   NDPSourceLLAddressTLVParser
struct   NDPTargetLLAddressTLVParser
struct   NDPPrefixInformationTLVParser
struct   NDPMTUTLVParser
struct   RTPPacketParser
struct   RTPPacketType
struct   TCPPacketParser
struct   TCPPacketType
struct   UDPPacketParser
struct   UDPPacketType
class   GenericTLVParserBase
class   GenericTLVParserRegistry
struct   TLVParserNotRegisteredException
struct   Int8Parser
struct   UInt8Parser
struct   Int16Parser
struct   Int16LSBParser
struct   UInt16Parser
struct   UInt16LSBParser
struct   Int24Parser
struct   UInt24Parser
struct   Int32Parser
struct   UInt32Parser
struct   UInt32LSBParser
struct   Int64Parser
struct   UInt64Parser
struct   UInt64LSBParser
struct   IntFieldParser
struct   UIntFieldParser
struct   FlagParser
struct   ExampleListPolicy
class   ListParser
class   ListParser_Container
struct   DTCPIPv4AddressListParser
struct   DTCPIPv6AddressListParser
struct   DTCPHelloPacketParser
struct   DTCPHelloPacketType
struct   GREChecksumParser
struct   GREPacketParser
struct   GREPacketType
struct   MPERealTimeParametersParser
class   MPESectionParser
struct   MPESectionType
struct   SNDUPacketParser
struct   ULEExtHeaderTypes
struct   SNDUPacketType
struct   TransportPacketParser
struct   TransportPacketType
class   Packet
class   ConcretePacket
class   PacketData
struct   TruncatedPacketException
struct   ComplexAnnotation
class   PacketInterpreterBase
class   PacketInterpreter
struct   InvalidPacketChainException
class   PacketParserBase
struct   init_bytes
struct   is_fixed
struct   VoidPacketParser
struct   ValueParserBase
class   PacketRegistry
struct   PacketTypeNotRegisteredException
struct   PacketTypeBase
class   PacketTypeMixin
class   safe_data_iterator
class   SafePacketParserWrapper
class   StringParser
class   VariantParser
struct   VectorParser
class   VectorParser_Container
class   ClockService
class   ReadHelper
struct   ReadUntil
class   WriteHelper
struct   NoAddressingPolicy
class   ClientSocketHandle
struct   ConnectedCommunicationPolicy
struct   UnconnectedCommunicationPolicy
class   FileHandle
class   FileBody
struct   StreamFramingPolicy
struct   DatagramFramingPolicy
class   NetdeviceController
class   ProtocolClientSocketHandle
struct   AddressException
struct   AddressSyntaxException
struct   UnknownHostnameException
struct   UnknownInterfaceException
struct   BSDAddressingPolicyMixinBase
struct   BSDAddressingPolicyMixin
struct   BSDAddressingPolicy
class   BSDSocketAddress
class   GenericBSDSocketAddress
class   BSDSocketProtocol
class   AddressableBSDSocketProtocol
class   DatagramSocketProtocol
class   DVBConfigParser
class   DVBProtocolWrapper
class   DVBSocketProtocol
class   DVBDemuxSectionSocketProtocol
class   DVBDemuxPESSocketProtocol
class   DVBDvrSocketProtocol
class   DVBDemuxSocketProtocol
class   DVBFrontendSocketProtocol
class   DVBSectionProtocolWrapper
class   DVBPESProtocolWrapper
class   DVBSocketController
class   ConnectedRawV4SocketProtocol
class   ConnectedRawV6SocketProtocol
class   ConnectedUDPv4SocketProtocol
class   ConnectedUDPv6SocketProtocol
class   INet4Address
class   CheckINet4Network
class   INet4Network
class   INet6Address
struct   CheckINet6Network
class   INet6Network
class   INet4SocketAddress
class   INet6SocketAddress
struct   INet4AddressingPolicy
struct   INet6AddressingPolicy
class   INetSocketProtocol
class   MulticastSocketProtocol
class   INet4MulticastSocketProtocol
class   INet6MulticastSocketProtocol
class   RawV4SocketProtocol
class   RawV6SocketProtocol
class   RawINetSocketProtocol
class   TCPv4SocketProtocol
class   TCPv6SocketProtocol
class   TCPSocketProtocol
class   UDPv4SocketProtocol
class   UDPv6SocketProtocol
class   UDPSocketProtocol
class   EUI64
class   LLSocketAddress
struct   LLAddressingPolicy
struct   MACAddress
class   PacketSocketProtocol
class   TapSocketProtocol
class   ConnectedUNDatagramSocketProtocol
class   UNSocketAddress
struct   UNAddressingPolicy
class   UNDatagramSocketProtocol
class   UNSocketProtocol
class   ProtocolServerSocketHandle
struct   ReadablePolicy
struct   NotReadablePolicy
struct   WriteablePolicy
struct   NotWriteablePolicy
class   ServerSocketHandle
class   SocketHandle
class   SocketBody
class   ProtocolSocketBody
struct   AddressingPolicyBase
struct   FramingPolicyBase
struct   CommunicationPolicyBase
struct   ReadPolicyBase
struct   WritePolicyBase
struct   AddressingPolicyIs
struct   IfAddressingPolicyIs
struct   IfAddressingPolicyIsNot
struct   SocketPolicyBase
struct   SocketPolicy
struct   MakeSocketPolicy
struct   SocketPolicyIsBaseOf
class   SocketProtocol
class   ConcreteSocketProtocol
class   Daemon
class   Beeper
  Helper class to beep the pc speaker. More...
class   DiscardSink
class   DiscardStream
class   ExceptionMixin
  Generic extensible exception mixin. More...
class   Exception
  Extensible exception base-class. More...
class   WrapException
  Wrapper for standard non-senf exceptions. More...
class   SystemException
  Exception handling standard UNIX errors (errno). More...
class   intrusive_refcount_base
  Reference count mixin interface baseclass. More...
class   intrusive_refcount_t
  Customizable reference count mixin for intrusive_ptr. More...
class   intrusive_refcount
  Reference count mixin for intrusive_ptr. More...
class   IpChecksum
  Calculate TCP/IP 16bit checksum value. More...
struct   contiguous_storage_iterator
  Check for contiguous mutable storage. More...
struct   contiguous_storage_iterator< T * >
  Check for contiguous mutable storage. Pointer specialization. More...
struct   strict_totally_ordered1
struct   has_parameter
  Test ArgumentPack, whether the TagType argument was supplied. More...
class   pimpl_ptr
class   pool_alloc_mixin
  Mixin to assign pool allocator to a class. More...
class   RestrictedInt
class   safe_bool_base
  internal safe_bool base class More...
class   comparable_safe_bool
  Mixin class for safe bool conversion support (comparable classes). More...
class   safe_bool
  Mixin class for safe boolean conversion support. More...
class   ScopeExit
class   singleton
  Mark a class as singleton and provide singleton accessor. More...
struct   StatisticsData
class   StatisticAccumulator
  Accumulate measurement values. More...
class   StatisticsBase
  Internal: Generic Statistics collection. More...
class   Statistics
  Collect statistics and generate log messages. More...
class   Collector
  Accumulated statistics collector. More...
struct   function_traits_remove_arg
  Strip first parameter from function traits. More...
struct   function_traits_arg_type
  Get argument type from function traits. More...
struct   remove_member_pointer
  Remove member pointer from type. More...
struct   member_class
  Get class of a member pointer. More...
struct   remove_any_pointer
  Remove any type of pointer from type. More...
struct   is_any_function
  Test object if it is a function or member-function (pointer). More...
struct   remove_cvref
  Remove reference and CV qualification from type. More...
struct   function_arity
  Get arity of function T. More...
struct   is_pair
class   TypeIdValue
  Wrapper to use types as key's in a map. More...

Typedefs

typedef StatisticAccumulator< int >  StatisticAccumulatorInt
typedef StatisticAccumulator
< float > 
StatisticAccumulatorFloat
typedef unspecified  StatisticsStream
  Logging stream for statistics messages.

Enumerations

enum   NoThrow_t { nothrow }
  Type tag selecting non-throwing variant of something. More...
enum   NoInit_t { noinit }
  Type tag selecting uninitialized variant of something. More...

Functions

void  formatBacktrace (std::ostream &os, void **backtrace, int numEntries)
  Format a given backtrace.
void  backtrace (std::ostream &os, int numEntries)
  Write a backtrace to os.
template<class Exc , class Arg >
boost::enable_if
< boost::is_convertible< Exc
*, ExceptionMixin * >, Exc & >
::type 
operator<< (Exc const &exc, Arg const &arg)
  Extend exception description.
template<class Iterator >
void  hexdump (Iterator i, Iterator i_end, std::ostream &stream, unsigned block_size=16)
  Write range [ i, i_end ) to output stream in hexadecimal format.
template<class Iterator >
std::string  hexdumpQuote (Iterator i, Iterator i_end)
  Return quoted iterator range.
template<class T >
void  IGNORE (T const &)
  Explicitly ignore a value.
template<class T >
void  IGNORE (T const *)
template<class Self >
void  intrusive_ptr_add_ref (intrusive_refcount_t< Self > const *p)
template<class Self >
void  intrusive_ptr_release (intrusive_refcount_t< Self > const *p)
template<class Iterator >
std::iterator_traits< Iterator >
::pointer 
storage_iterator (Iterator i)
  Convert contiguous storage iterator to pointer.
template<typename R , typename T , typename Args >
boost::function< R(Args)>  membind (R(T::*fn)(Args), T *ob)
  Build bound member function object.
template<class Range , class Fn >
boost::iterator_range
< boost::transform_iterator
< Fn, typename
boost::range_const_iterator
< Range >::type > > 
make_transform_range (Range const &range, Fn const &fn)
  Make a boost::iterator_range from boost::trasform_iterator.
template<class Range , class Fn >
boost::iterator_range
< boost::transform_iterator
< Fn, typename
boost::range_iterator< Range >
::type > > 
make_transform_range (Range &range, Fn const &fn)
template<class Range , class Iterator >
void  copy_range (Range const &range, Iterator const &i)
template<class Range , class Iterator >
void  copy_range (Range &range, Iterator const &i)
template<class Range >
bool  has_one_elt (Range r)
template<class Base , class Tag >
std::ostream &  operator<< (std::ostream &os, RestrictedInt< Base, Tag > value)
template<class Base , class Tag >
std::istream &  operator>> (std::istream &is, RestrictedInt< Base, Tag > &value)
template<typename T , typename U >
void  operator== (const safe_bool< T > &lhs, const safe_bool< U > &rhs)
template<typename T , typename U >
void  operator!= (const safe_bool< T > &lhs, const safe_bool< U > &rhs)
std::string const &  signalName (int signal)
  Convert signal number to signal name.
template<class ForwardReadableRange >
std::string  stringJoin (ForwardReadableRange const &range, std::string sep)
  Join string range with separator into single string.
template<class T >
std::string  str (T const &t)
  Get string representation.
template<class Target , class Source >
Target  lexical_cast (Source const &arg)
template<class Target >
detail::lexical_caster< Target >  lexical_cast ()
std::string  prettyName (std::type_info const &type)
  Try to return readable type for given type_info.
std::string  prettyBaseName (std::type_info const &type)
  Try to return readable type name without namespace or template arguments.

Typedef Documentation

typedef StatisticAccumulator<float> senf::
StatisticAccumulatorFloat

Definition at line 123 of file StatisticAccumulator.hh.

typedef StatisticAccumulator<int> senf::
StatisticAccumulatorInt

Definition at line 122 of file StatisticAccumulator.hh.


Function Documentation

template<class Range , class Iterator >
void senf::
copy_range ( Range &  range,
Iterator const &  i )

Definition at line 62 of file Range.cti.

template<class Range , class Iterator >
void senf::
copy_range ( Range const &  range,
Iterator const &  i )

Definition at line 56 of file Range.cti.

template<class Range >
bool senf::
has_one_elt ( Range  r )

Definition at line 68 of file Range.cti.

template<class Iterator >
void senf::
hexdump ( Iterator  i,
Iterator  i_end,
std::ostream &  stream,
unsigned  block_size = 16 )

Write range [ i, i_end ) to output stream in hexadecimal format.

Definition at line 35 of file hexdump.ct.

template<class Iterator >
std::string senf::
hexdumpQuote ( Iterator  i,
Iterator  i_end )

Return quoted iterator range.

Definition at line 44 of file hexdump.ct.

template<class T >
void senf::
IGNORE ( T const *  )

Definition at line 38 of file IgnoreValue.cti.

template<class T >
void senf::
IGNORE ( T const &  )

Explicitly ignore a value.

To explicitly ignore a value (e.g. the return value of a function), pass that value to senf::IGNORE(). This has the added benefit of silencing any warnings about ignored values by g++.

Definition at line 34 of file IgnoreValue.cti.

template<class Self >
void senf::
intrusive_ptr_add_ref ( intrusive_refcount_t< Self > const *  p )

Definition at line 46 of file intrusive_refcount.cti.

template<class Self >
void senf::
intrusive_ptr_release ( intrusive_refcount_t< Self > const *  p )

Definition at line 52 of file intrusive_refcount.cti.

template<class Target >
senf::detail::lexical_caster< Target > senf::
lexical_cast ()

Definition at line 137 of file String.ct.

template<class Target , class Source >
Target senf::
lexical_cast ( Source const &  arg )

Definition at line 126 of file String.ct.

template<class Range , class Fn >
boost::iterator_range< boost::transform_iterator< Fn, typename boost::range_iterator< Range >::type > > senf::
make_transform_range ( Range &  range,
Fn const &  fn )

Definition at line 48 of file Range.cti.

template<class Range , class Fn >
boost::iterator_range< boost::transform_iterator< Fn, typename boost::range_const_iterator< Range >::type > > senf::
make_transform_range ( Range const &  range,
Fn const &  fn )

Make a boost::iterator_range from boost::trasform_iterator.

This helper is like boost::make_transform_iterator, however for ranges instead of iterators.

Definition at line 37 of file Range.cti.

template<typename T , typename U >
void senf::
operator!= ( const safe_bool< T > &  lhs,
const safe_bool< U > &  rhs )

Definition at line 59 of file safe_bool.cti.

template<class Base , class Tag >
std::ostream& senf::
operator<< ( std::ostream &  os,
RestrictedInt< Base, Tag >  value )

Definition at line 107 of file RestrictedInt.hh.

template<class Exc , class Arg >
boost::enable_if< boost::is_convertible< Exc *, senf::ExceptionMixin * >, Exc & >::type senf::
operator<< ( Exc const &  exc,
Arg const &  arg )

Extend exception description.

Adds arg converted to string to the end of the exception description string. This operator allows to use Exception instances like streams. The conversion is performed using boost::lexical_cast and is therefor identical to a streaming operation.

See also:
Exception classes

Definition at line 36 of file Exception.cti.

template<typename T , typename U >
void senf::
operator== ( const safe_bool< T > &  lhs,
const safe_bool< U > &  rhs )

Definition at line 53 of file safe_bool.cti.

template<class Base , class Tag >
std::istream& senf::
operator>> ( std::istream &  is,
RestrictedInt< Base, Tag > &  value )

Definition at line 111 of file RestrictedInt.hh.

std::string senf::
prettyBaseName ( std::type_info const &  type )

Try to return readable type name without namespace or template arguments.

This function will try to return a demangled type name for the given type_info object. If the demangling fails, the possibly mangled name (type->name()) will be returned. The namespace prefix and template arguments will be stripped.

Parameters:
[in]  type  type_info object
Returns:
type name, possibly demangled and without namespace or template args

Definition at line 48 of file TypeInfo.cc.

std::string senf::
prettyName ( std::type_info const &  type )

Try to return readable type for given type_info.

This function will try to return a demangled type name for the given type_info object. If the demangling fails, the possibly mangled name (type->name()) will be returned.

Parameters:
[in]  type  type_info object
Returns:
type name, possibly demangled

Definition at line 37 of file TypeInfo.cc.

std::string const & senf::
signalName ( int  signal )

Convert signal number to signal name.

Definition at line 36 of file signalnames.cc.

template<class Iterator >
std::iterator_traits< Iterator >::pointer senf::
storage_iterator ( Iterator  i )

Convert contiguous storage iterator to pointer.

storage_iterator will convert a contiguous storage iterator into a pointer to the same element in the container. This allows to directly access the containers storage.

Warning:
This conversion is only safe if contiguous_storage_iterator<Iterator>::value is true for the given iterator type !

Definition at line 35 of file IteratorTraits.cti.

template<class T >
std::string senf::
str ( T const &  t )

Get string representation.

Returns the result of streaming the argument into a standard library string-based stream and then out as a std::string object. The conversion is done with boost::lexical_cast. The call is equivalent to

    boost::lexical_cast<std::string>(t);
Precondition:
t must be OutputStreamable, meaning that an operator<< is defined
t must be CopyConstructible
See also:
boost::lexical_cast

Definition at line 35 of file String.cti.

template<class ForwardReadableRange >
std::string senf::
stringJoin ( ForwardReadableRange const &  range,
std::string  sep )

Join string range with separator into single string.

This utility will build string by joining all elements of range into a single string using sep as separator. The range may contain values of any streamable type.

Definition at line 38 of file String.ct.