claw Namespace Reference

This is the main namespace. More...

## Namespaces

namespace | pattern
| Here are the design patterns.
namespace | net
| Network communications.
namespace | graphic
| Everything about image structures and processing.
namespace | math
| Manipulation of mathematic, geometric, etc. items.
namespace | ai
| Everything about artificial intelligence.
namespace | memory
| Memory management.
namespace | meta
| Structures for meta-programmation.
namespace | text
| Everything about text processing.
namespace | tween
| Tweeners interpolate the intermediate values between two given reference values using various equations.

## Classes

class | application
| A class to represent the application. More...
class | arguments
| A class to manage the arguments of your program. More...
class | arguments_table
| A class to manage the arguments of your program, with automatic management of short/long arguments and help message. More...
class | automaton
| Basic automaton structure. More...
class | avl
| Binary search tree AVL implementation. More...
class | avl_base
| Binary search tree base AVL implementation. More...
class | binary_node
| Basic binary node. More...
class | bit_istream
| This class is made to help reading datas of custom bit length. More...
class | bit_ostream
| This class is made to help writing datas of custom bit length. More...
class | buffered_istream
| This class is made to help reading istreams with a buffer. More...
class | buffered_ostream
| This class is made to help writing in ostreams with a buffer. More...
class | configuration_file
| A class to get the content of a configuration file. More...
class | dynamic_library
| A class to use dynamic libraries. More...
class | dynamic_library_traits_unix
| Unix interface for using dynamic libraries. More...
class | dynamic_library_traits_win32
| Microsoft Windows interface for using dynamic libraries. More...
class | exception
| A simple class to use as exception with string message. More...
class | bad_format
| Exception thrown when accessing bad formated data. More...
class | first
| Fuction object to get the first element of a std::pair. More...
class | const_first
| Fuction object to get the first element of a std::pair. More...
class | pair_first
| Fuction object to get the first element of a std::pair. More...
class | const_pair_first
| Fuction object to get the first element of a std::pair. More...
class | second
| Fuction object to get the second element of a std::pair. More...
class | const_second
| Fuction object to get the second element of a std::pair. More...
class | pair_second
| Fuction object to get the second element of a std::pair. More...
class | const_pair_second
| Fuction object to get the second element of a std::pair. More...
class | unary_true
| Always true unary predicate. More...
class | binary_true
| Always true binary predicate. More...
class | unary_compose
| Function object that compose two function objects. More...
class | delete_function
| Function object that deletes a pointer. More...
class | clone
| Function object that clones a pointer. More...
class | dereference
| Function object that dereferences a pointer. More...
class | const_dereference
| Function object that dereferences a constant pointer. More...
class | graph_exception
| The exceptions thrown by the graphs. More...
class | graph
| A class to represent a graph. More...
class | scan_events
| Different stages of graph scanning. More...
class | breadth_scan
| This class performs a depth scan of a graph. Only reachables vertices from a given vertex are proceeded. More...
class | depth_scan
| This class performs a depth scan of a graph. All nodes are proceeded. More...
class | topological_sort
| Pass this class as the "Envents" template parameter of the depth scan class to sort the vertices of a graph with the topological sort algorithm. More...
class | it_index
| A class to manage an index and an iterator easily. More...
class | wrapped_iterator_by_category
| Base class for wrapped iterators. More...
class | wrapped_iterator_by_category< std::forward_iterator_tag, Value, Iterator, Function >
| Base class for wrapped iterators, specialized for forward iterators. More...
class | wrapped_iterator_by_category< std::bidirectional_iterator_tag, Value, Iterator, Function >
| Base class for wrapped iterators, specialized for bidirectional iterators. More...
class | wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function >
| Base class for wrapped iterators, specialized for random iterators. More...
class | wrapped_iterator
| This class defines an iterator resulting of the appliance of a function to an effective iterator. More...
class | log_level
| Set the level of the next message for logger_system::operator<<(). More...
class | log_stream
| Base class for streams accepting log output. More...
class | console_logger
| This class write log messages in std::clog. More...
class | file_logger
| This class write log messages in a file. More...
class | log_stream_concise
| A log stream that does not output a message that have been recently output. More...
class | log_stream_uniq
| A log stream that does not output successively the same message. More...
class | log_system
| A class implementing a logging system. More...
class | lzw_decoder
| A class to help decoding a stream encoded with Lempel-Ziv-Welch (LZW) compression algorithm. More...
class | lzw_encoder
| A class to help encoding a stream with Lempel-Ziv-Welch (LZW) compression algorithm. More...
class | max_vector
| Fill a container with some values, keeping only all the "maximum" inserted values. More...
class | multi_type_map_wrapper
| This class provides types and methods to allow the call of methods for a given type in the inheritance of a multi_type_map. More...
class | multi_type_map_helper
| This class provides types and methods to allow the call of methods recursively along the inherintance hierarchy. More...
class | multi_type_map
| This class can associate values of different types to a key. More...
class | multi_type_map< Key, meta::no_type >
| Partial specialization, to stop the inheritance recursivity. More...
class | multi_type_map< Key, meta::type_list< Head, Tail > >
| This class can associate values of different types to a key. More...
class | multi_type_map_visitor
| This class goes through all entries in a multi_type_map and apply a function to them. More...
class | real_number
| Custom precision real numbers. More...
struct | make_epsilon
| This class generates an epsilon value of a given precision. More...
class | rle_decoder
| A class to help decoding run-length encoded (RLE) streams. More...
class | rle_encoder
| A class to help run-length encoding (RLE) streams. More...
class | socket_traits_unix
| Unix interface for using sockets. More...
class | socket_traits_win32
| Win32 interface for using sockets. More...
class | system_info
| A class to get some informations about the system in which your program runs. More...
class | tree
| A tree structure with any number of children. More...
class | trie
| This class is a trie tree. More...
struct | find_type_by_size
| This meta class finds, in a list of types, the first type stored exactly with a given number of bits. More...
struct | find_type_by_size< Size, meta::no_type >
| End of the recursion of the find_type_by_size class. More...
struct | integer_of_size
| Define the type of a signed integer stored with a given number of bits. Template parameters. More...
struct | unsigned_integer_of_size
| Define the type of an unsigned integer stored with a given number of bits. Template parameters. More...

## Typedefs

typedef dynamic_library_traits_unix | dynamic_library_traits
| The traits to access the dynamic libraries in Unix system.
typedef socket_traits_unix | socket_traits
typedef meta::no_type | non_standard_signed_types
typedef meta::no_type | non_standard_unsigned_types
typedef meta::type_list< signed char, meta::type_list< signed short, meta::type_list< signed int, non_standard_signed_types > > > | signed_integers
| This is the list of c++ signed integer types.
typedef meta::type_list< unsigned char, meta::type_list< unsigned short, meta::type_list< unsigned int, non_standard_unsigned_types > > > | unsigned_integers
| This is the list of c++ unsigned integer types.
typedef unsigned_integer_of_size< 8 >::type | u_int_8
| An unsigned integer on 8 bits.
typedef unsigned_integer_of_size< 16 >::type | u_int_16
| An unsigned integer on 16 bits.
typedef unsigned_integer_of_size< 32 >::type | u_int_32
| An unsigned integer on 32 bits.
typedef integer_of_size< 8 >::type | int_8
| An integer on 8 bits.
typedef integer_of_size< 16 >::type | int_16
| An integer on 16 bits.
typedef integer_of_size< 32 >::type | int_32
| An integer on 32 bits.

## Functions

template<typename InputIterator, typename UnaryFunction>
UnaryFunction | inplace_for_each (InputIterator first, InputIterator last, UnaryFunction f)
template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator1 | find_first_not_of (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
template<typename ForwardIterator1, typename ForwardIterator2, typename ForwardIterator3>
std::size_t | replace (ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 e1_first, ForwardIterator2 e1_last, ForwardIterator3 e2_first, ForwardIterator3 e2_last)
void | debug_assert (const char *file, const char *func, unsigned int line, bool b, const std::string &s)
| The method used by CLAW_ASSERT macro. Souldn't be used elsewhere.
template<typename InputIterator1, typename InputIterator2>
bool | glob_match (InputIterator1 pattern_first, InputIterator1 pattern_last, InputIterator2 first, InputIterator2 last, typename InputIterator1::value_type any_sequence, typename InputIterator1::value_type zero_or_one, typename InputIterator1::value_type any)
template<typename InputIterator1, typename InputIterator2>
bool | glob_potential_match (InputIterator1 pattern_first, InputIterator1 pattern_last, InputIterator2 first, InputIterator2 last, typename InputIterator1::value_type any_sequence, typename InputIterator1::value_type zero_or_one, typename InputIterator1::value_type any)
template<typename Value, typename Iterator, typename Function>
wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > | operator+ (int n, const wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > &it)
template<typename Value, typename Iterator, typename Function>
wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > | operator- (int n, const wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > &it)
CLAW_LOGGER_EXPORT log_system & | lendl (log_system &log)
| Add a new line caracter to a logger and flush it.

## Variables

log_level | log_error (0, "error: ")
| Use this level if something goes really bad and your application may crash.
log_level | log_warning (1, "warning: ")
| Use this level if a small problem occurs and you can deal with it without crashing the application.
log_level | log_verbose (15)
| Use this level if you want to inform the user about a situation that is not problematic.
log_system | logger
| The default log system provided by claw.

## Detailed Description

This is the main namespace.

## Typedef Documentation

## dynamic_library_traits

typedef dynamic_library_traits_win32 claw::dynamic_library_traits claw::dynamic_library_traits

The traits to access the dynamic libraries in Unix system.

Definition at line 133 of file dynamic_library_traits_unix.hpp.

## int_16

typedef integer_of_size<16>::type claw::int_16

An integer on 16 bits.

Definition at line 147 of file types.hpp.

## int_32

typedef integer_of_size<32>::type claw::int_32

An integer on 32 bits.

Definition at line 150 of file types.hpp.

## int_8

typedef integer_of_size<8>::type claw::int_8

An integer on 8 bits.

Definition at line 144 of file types.hpp.

## non_standard_signed_types

typedef meta::no_type claw::non_standard_signed_types

Definition at line 51 of file types.hpp.

## non_standard_unsigned_types

typedef meta::no_type claw::non_standard_unsigned_types

Definition at line 52 of file types.hpp.

## signed_integers

typedef meta::type_list< signed char, meta::type_list < signed short, meta::type_list<signed int, non_standard_signed_types> > > claw::signed_integers

This is the list of c++ signed integer types.

Definition at line 62 of file types.hpp.

## socket_traits

typedef socket_traits_win32 claw::socket_traits

Definition at line 231 of file socket_traits_unix.hpp.

## u_int_16

typedef unsigned_integer_of_size<16>::type claw::u_int_16

An unsigned integer on 16 bits.

Definition at line 138 of file types.hpp.

## u_int_32

typedef unsigned_integer_of_size<32>::type claw::u_int_32

An unsigned integer on 32 bits.

Definition at line 141 of file types.hpp.

## u_int_8

typedef unsigned_integer_of_size<8>::type claw::u_int_8

An unsigned integer on 8 bits.

Definition at line 135 of file types.hpp.

## unsigned_integers

typedef meta::type_list< unsigned char, meta::type_list < unsigned short, meta::type_list<unsigned int, non_standard_unsigned_types> > > claw::unsigned_integers

This is the list of c++ unsigned integer types.

Definition at line 70 of file types.hpp.

## Function Documentation

## debug_assert()

void claw::debug_assert | ( | const char * | file,
|  | const char * | func,
|  | unsigned int | line,
|  | bool | b,
|  | const std::string & | s )

inline

The method used by CLAW_ASSERT macro. Souldn't be used elsewhere.

Parameters

  file | The file where the error is produced.
  func | The name of the current function.
  line | The line where the error is produced.
  b | A boolean condition to verify.
  s | Message printed if b is not verified.

Definition at line 73 of file assert.hpp.

## lendl()

claw::log_system & claw::lendl | ( | claw::log_system & | log | ) |

Add a new line caracter to a logger and flush it.

Parameters

  log | The logger to flush.

Definition at line 177 of file logger.cpp.

## operator+()

template<typename Value, typename Iterator, typename Function>

wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > claw::operator+ | ( | int | n,
|  | const wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > & | it )

Definition at line 328 of file iterator.hpp.

## operator-()

template<typename Value, typename Iterator, typename Function>

wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > claw::operator- | ( | int | n,
|  | const wrapped_iterator_by_category< std::random_access_iterator_tag, Value, Iterator, Function > & | it )

Definition at line 339 of file iterator.hpp.

## Variable Documentation

## log_error

CLAW_LOGGER_EXPORT log_level claw::log_error | ( | 0 | ,
|  | "error: " | )

Use this level if something goes really bad and your application may crash.

Definition at line 78 of file log_level.hpp.

Referenced by claw::application::application().

## log_verbose

CLAW_LOGGER_EXPORT log_level claw::log_verbose | ( | 15 |  | ) |

Use this level if you want to inform the user about a situation that is not problematic.

Definition at line 90 of file log_level.hpp.

Referenced by claw::application::application().

## log_warning

CLAW_LOGGER_EXPORT log_level claw::log_warning | ( | 1 | ,
|  | "warning: " | )

Use this level if a small problem occurs and you can deal with it without crashing the application.

Definition at line 84 of file log_level.hpp.

Referenced by claw::application::application().

## logger

CLAW_LOGGER_EXPORT log_system claw::logger

The default log system provided by claw.

Definition at line 37 of file logger.cpp.

Referenced by claw::application::application(), and claw::application::~application().