Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

more::gen Namespace Reference

General templates (STL style). More...

Compounds

[NOHEADER]

[NOHEADER]

Typedefs

Functions

Variables


Detailed Description

General templates (STL style).

This includes containers, iterators, algoritms, allocators, functionals, and some utilities. It is meant to be used in conjuntion with the STL. Depends on: only the C++ library.


Typedef Documentation

typedef basic_gc_string<char> more::gen::gc_string
 

typedef basic_gc_string<wchar_t> more::gen::gc_wstring
 


Function Documentation

template<typename Arg1, typename Arg2, typename Res, typename Obj>
mem_fun2_ref_fixed_t<Res, Obj, Arg1, Arg2> adapt Res(Obj::*    f)(Arg1, Arg2) [inline]
 

template<typename Arg, typename Res, typename Obj>
mem_fun1_ref_fixed_t<Res, Obj, Arg> adapt Res(Obj::*    f)(Arg) [inline]
 

template<typename Res, typename Obj>
mem_fun_ref_fixed_t<Res, Obj> adapt Res(Obj::*    f)() [inline]
 

template<typename Arg1, typename Arg2, typename Arg3, typename Res>
pointer_to_ternary_function<Arg1, Arg2, Arg3, Res> adapt Res(*    f)(Arg1, Arg2, Arg3) [inline]
 

template<typename Arg1, typename Arg2, typename Res>
pointer_to_binary_function<Arg1, Arg2, Res> adapt Res(*    f)(Arg1, Arg2) [inline]
 

template<typename Arg, typename Res>
pointer_to_unary_function<Arg, Res> adapt Res(*    f)(Arg) [inline]
 

template<typename Res>
pointer_to_generator<Res> adapt Res(*    f)() [inline]
 

template<typename Arg1, typename Arg2, typename Res, typename Obj>
mem_fun2_t<Res, Obj, Arg1, Arg2> adapt_with_ptr Res(Obj::*    f)(Arg1, Arg2) [inline]
 

template<typename Arg, typename Res, typename Obj>
mem_fun1_t<Res, Obj, Arg> adapt_with_ptr Res(Obj::*    f)(Arg) [inline]
 

template<typename Res, typename Obj>
mem_fun_t<Res, Obj> adapt_with_ptr Res(Obj::*    f)() [inline]
 

Adapt a member function which takes the this pointer as the first argument.

template<typename Arg1, typename Arg2, typename Res, typename Obj>
mem_fun2_ref_fixed_t<Res, Obj, Arg1, Arg2> adapt_with_ref Res(Obj::*    f)(Arg1, Arg2) [inline]
 

template<typename Arg, typename Res, typename Obj>
mem_fun1_ref_fixed_t<Res, Obj, Arg> adapt_with_ref Res(Obj::*    f)(Arg) [inline]
 

template<typename Res, typename Obj>
mem_fun_ref_fixed_t<Res, Obj> adapt_with_ref Res(Obj::*    f)() [inline]
 

Adapt a member function which takes a reference to *this as the first argument.

template<typename BinaryFunction, typename T1, typename T2>
__Expr6 apply const BinaryFunction &    f,
const T1 &    x1,
const T2 &    x2
[inline]
 

Return an apply expression.

This allows placeholders and expressions to appear in arguments to functions.

template<typename UnaryFunction, typename T>
__Expr5 apply const UnaryFunction &    f,
const T &    x
[inline]
 

Return an apply expression.

This allows placeholders and expressions to appear in arguments to functions.

template<typename Generator>
__Expr4 apply const Generator &    f [inline]
 

Return an apply expression.

template<typename T>
assign_iterator<T> assigner T &    x
 

template<typename Arg1, typename Arg2, typename Arg3, typename Res, typename Obj>
bound_const_mem_fun3_ref_t<Res, Obj, Arg1, Arg2, Arg3> bind_adapt Obj const *    obj,
Res(Obj::*    f)(Arg1, Arg2, Arg3) const
[inline]
 

template<typename Arg1, typename Arg2, typename Res, typename Obj>
bound_const_mem_fun2_ref_t<Res, Obj, Arg1, Arg2> bind_adapt Obj const *    obj,
Res(Obj::*    f)(Arg1, Arg2) const
[inline]
 

template<typename Arg, typename Res, typename Obj>
bound_const_mem_fun1_ref_t<Res, Obj, Arg> bind_adapt Obj const *    obj,
Res(Obj::*    f)(Arg) const
[inline]
 

template<typename Res, typename Obj>
bound_const_mem_fun_ref_t<Res, Obj> bind_adapt Obj const *    obj,
Res(Obj::*    f)() const
[inline]
 

template<typename Arg1, typename Arg2, typename Arg3, typename Res, typename Obj>
bound_mem_fun3_ref_t<Res, Obj, Arg1, Arg2, Arg3> bind_adapt Obj *    obj,
Res(Obj::*    f)(Arg1, Arg2, Arg3)
[inline]
 

template<typename Arg1, typename Arg2, typename Res, typename Obj>
bound_mem_fun2_ref_t<Res, Obj, Arg1, Arg2> bind_adapt Obj *    obj,
Res(Obj::*    f)(Arg1, Arg2)
[inline]
 

template<typename Arg, typename Res, typename Obj>
bound_mem_fun1_ref_t<Res, Obj, Arg> bind_adapt Obj *    obj,
Res(Obj::*    f)(Arg)
[inline]
 

template<typename Res, typename Obj>
bound_mem_fun_ref_t<Res, Obj> bind_adapt Obj *    obj,
Res(Obj::*    f)()
[inline]
 

template<typename Iterator1, typename Iterator2, typename BinaryFunction>
iterator_composition<Iterator1, Iterator2, BinaryFunction> compose_iterators Iterator1    it1,
Iterator2    it2,
BinaryFunction    f
[inline]
 

template<typename Res, typename Arg1, typename Arg2, typename Arg3, typename Obj>
void connect ternary_closure< Arg1, Arg2, Arg3, Res > &    slot,
Obj &    obj,
Res(Obj::*    f)(Arg1, Arg2, Arg3)
[inline]
 

template<typename Res, typename Arg1, typename Arg2, typename Obj>
void connect binary_closure< Arg1, Arg2, Res > &    slot,
Obj &    obj,
Res(Obj::*    f)(Arg1, Arg2)
[inline]
 

template<typename Res, typename Arg, typename Obj>
void connect unary_closure< Arg, Res > &    slot,
Obj &    obj,
Res(Obj::*    f)(Arg)
[inline]
 

template<typename Res, typename Obj>
void connect generator_closure< Res > &    slot,
Obj &    obj,
Res(Obj::*    f)()
[inline]
 

template<typename Obj, typename Arg1, typename Arg2, typename Res>
void connect ternary_closure< Obj &, Arg1, Arg2, Res > &    slot,
Res(Obj::*    f)(Arg1, Arg2)
[inline]
 

template<typename Obj, typename Arg, typename Res>
void connect binary_closure< Obj &, Arg, Res > &    slot,
Res(Obj::*    f)(Arg)
[inline]
 

template<typename Obj, typename Res>
void connect unary_closure< Obj &, Res > &    slot,
Res(Obj::*    f)()
[inline]
 

template<typename Arg1, typename Arg2, typename Arg3, typename Res>
void connect ternary_closure< Arg1, Arg2, Arg3, Res > &    slot,
Res(*    f)(Arg1, Arg2, Arg3)
[inline]
 

template<typename Arg1, typename Arg2, typename Res>
void connect binary_closure< Arg1, Arg2, Res > &    slot,
Res(*    f)(Arg1, Arg2)
[inline]
 

template<typename Arg, typename Res>
void connect unary_closure< Arg, Res > &    slot,
Res(*    f)(Arg)
[inline]
 

template<typename Res>
void connect generator_closure< Res > &    slot,
Res(*    f)()
[inline]
 

template<typename BinaryFunction>
const_encapsulated_binary_function<BinaryFunction>* const_encapsulate_binary const BinaryFunction &    f [inline]
 

template<typename Generator>
const_encapsulated_generator<Generator>* const_encapsulate_generator const Generator &    f [inline]
 

template<typename TernaryFunction>
const_encapsulated_ternary_function<TernaryFunction>* const_encapsulate_ternary const TernaryFunction &    f [inline]
 

template<typename UnaryFunction>
const_encapsulated_unary_function<UnaryFunction>* const_encapsulate_unary const UnaryFunction &    f [inline]
 

template<typename Element, typename OutputIterator>
bool copy_closed_range Element    e_low,
Element    e_high,
OutputIterator    it_out
 

Copy elements in [e_low, e_high] to it_out.

template<typename Element, typename OutputIterator>
bool copy_left_range Element    e_low,
Element    e_high,
OutputIterator    it_out
 

Copy elements if [e_low, e_high) to it_out.

template<typename InputIterator, typename OutputIterator>
void copy_n InputIterator    u,
int    n,
OutputIterator    v
 

template<typename Element, typename OutputIterator>
bool copy_open_range Element    e_low,
Element    e_high,
OutputIterator    it_out
 

Copy elements in (e_low, e_high) to it_out.

template<typename Element, typename OutputIterator>
bool copy_right_range Element    e_low,
Element    e_high,
OutputIterator    it_out
 

Copy elements in (e_low, e_high] to it_out.

template<typename ForwardIterator0, typename ForwardIterator1, typename Equal>
bool counted_equal ForwardIterator0    it0,
ForwardIterator0    it0end,
ForwardIterator1    it1,
ForwardIterator1    it1end,
Equal    eq
[inline]
 

template<typename ForwardIterator0, typename ForwardIterator1, typename >
bool counted_equal ForwardIterator0    it0,
ForwardIterator0    it0end,
ForwardIterator1    it1,
ForwardIterator1    it1end
[inline]
 

Remove elements from a sorted range.

Type requirements:
ForwardIterator is a model of Forward Iterator.
Precondition:
[first, last) is a sorted range.
Returns:
The PTE iterator of the modified range.

size_t cstrlen wchar_t const *    s [inline]
 

size_t cstrlen char const *    s [inline]
 

template<typename Ch>
Ch* empty_c_str   [inline]
 

template<>
char* empty_c_str< char >   [inline]
 

template<>
wchar_t* empty_c_str< wchar_t >   [inline]
 

template<typename BinaryFunction>
encapsulated_binary_function<BinaryFunction>* encapsulate_binary const BinaryFunction &    f [inline]
 

template<typename Generator>
encapsulated_generator<Generator>* encapsulate_generator const Generator &    f [inline]
 

template<typename TernaryFunction>
encapsulated_ternary_function<TernaryFunction>* encapsulate_ternary const TernaryFunction &    f [inline]
 

template<typename UnaryFunction>
encapsulated_unary_function<UnaryFunction>* encapsulate_unary const UnaryFunction &    f [inline]
 

template<typename Element, typename Value, typename PrecEqPredicate, typename OutputIterator>
void find_infimums Element    e_low,
Value const &    value,
PrecEqPredicate    preceq,
OutputIterator    it_out
 

find infimums of value according to preceq in the node set from e_low and upwards.

template<typename Element, typename Value, typename PrecEqPredicate, typename OutputIterator>
void find_infimums_above Element    e_low,
Value const &    value,
PrecEqPredicate    preceq,
OutputIterator    it_out
 

Find infimums of value according to preceq in the node set above (excluding) e_low.

template<typename Element, typename Predicate, typename OutputIterator>
void find_infimums_above_if Element    e_low,
Predicate const &    pred,
OutputIterator    it_out
 

template<typename Element, typename Predicate, typename OutputIterator>
void find_infimums_if Element    e_low,
Predicate const &    pred,
OutputIterator    it_out
 

template<typename Element, typename Value, typename PrecEqPredicate, typename OutputIterator>
void find_supremums Element    e_high,
Value const &    value,
PrecEqPredicate    preceq,
OutputIterator    it_out
 

find supremums of value according to preceq in the node set from e_high and downwards.

template<typename Element, typename Value, typename PrecEqPredicate, typename OutputIterator>
void find_supremums_below Element    e_high,
Value const &    value,
PrecEqPredicate    preceq,
OutputIterator    it_out
 

Find supremums of value according to preceq in the node set below (excluding) e_high.

template<typename Element, typename Predicate, typename OutputIterator>
void find_supremums_below_if Element    e_high,
Predicate const &    pred,
OutputIterator    it_out
 

template<typename Element, typename Predicate, typename OutputIterator>
void find_supremums_if Element    e_high,
Predicate const &    pred,
OutputIterator    it_out
 

template<typename Element>
std::pair< typename Element::infimum_iterator, typename Element::infimum_iterator > more::gen::infimums Element    e
 

template<typename ForwardIterator, typename T>
void insert_sorted ForwardIterator    first,
ForwardIterator    last,
T const    x
[inline]
 

Insert an element into a sorted range.

Type requirements:
ForwardIterator is a model of Forward Iterator.
Precondition:
[first, \a{last}) is a sorted range. last is dereferenceable.

template<typename Element>
bool is_max_element Element    e [inline]
 

Return true if e is the maximum element of its ordering.

template<typename Element>
bool is_min_element Element    e [inline]
 

Return true if e is the minimum element of its ordering.

template<typename Placeholder0, typename Placeholder1, typename Expr>
__Expr3 lambda Placeholder0    var0,
Placeholder1    var1,
const Expr &    a
[inline]
 

Return a binary function from an expression.

template<typename Placeholder0, typename Expr>
__Expr2 lambda Placeholder0   ,
var0   ,
const Expr &    a
[inline]
 

Return a unary function from an expression.

template<typename Expr>
__Expr1 lambda const Expr &    a [inline]
 

Return a nullary function from an expression (delayed evaluation).

template<typename T, typename U>
transforming_iterator<T, U> operator+ int    i,
transforming_iterator< T, U >    u
[inline]
 

template<typename T, typename U>
transforming_iterator<T, U> operator+ transforming_iterator< T, U >    u,
int    i
[inline]
 

template<typename Char>
basic_gc_string<Char> operator+ basic_gc_string< Char >    x,
Char const *    y
[inline]
 

template<typename Char>
basic_gc_string<Char> operator+ Char const *    x,
basic_gc_string< Char >    y
[inline]
 

template<typename Char>
basic_gc_string<Char> operator+ basic_gc_string< Char > const &    x,
basic_gc_string< Char > const &    y
[inline]
 

Concatenation of two strings.

template<typename T, typename U>
transforming_iterator<T, U> operator- transforming_iterator< T, U >    u,
int    i
[inline]
 

template<typename Char>
bool operator< Char const *    x,
basic_gc_string< Char > const &    y
[inline]
 

template<typename Char>
bool operator< basic_gc_string< Char > const &    x,
Char const *    y
[inline]
 

template<typename Char>
bool operator< basic_gc_string< Char > const &    x,
basic_gc_string< Char > const &    y
[inline]
 

An arbitrary full ordering of strings.

Use locale specific versions for dictionary ordering.

std::ostream& operator<< std::ostream &    os,
gc_string const &    str
[inline]
 

template<typename T0, typename T1>
bool operator== nary_tree< T0 > const &    t0,
nary_tree< T1 > const &    t1
 

template<typename Char>
bool operator== Char const *    x,
basic_gc_string< Char > const &    y
[inline]
 

template<typename Char>
bool operator== basic_gc_string< Char > const &    x,
Char const *    y
[inline]
 

template<typename Char>
bool operator== basic_gc_string< Char > const &    x,
basic_gc_string< Char > const &    y
[inline]
 

True if the strings are equal.

template<typename Element>
bool more::gen::prec Element    e0,
Element    e1
[inline]
 

returns true if .

template<typename Element>
bool more::gen::preceq Element    e0,
Element    e1
[inline]
 

returns true if .

template<typename T>
lambda_kns::expr< lambda_kns::valueref_expr< T > > more::gen::refer T &    x [inline]
 

Pass x by reference rather than by value in a lambda expression.

char* strcpy_new char const *    str [inline]
 

Returns a copy of str allocated by new.

wchar_t const* struniq_copy wchar_t const *   
 

Returns a unique pointer for all lexically equal strings.

char const* struniq_copy char const *   
 

Returns a unique pointer for all lexically equal strings.

char const* struniq_dense int   
 

Returns a unique string pointer for each argument.

The string is a valid C identifier. The global time and space complexty scales lineary with the maximum absolute value of the argument, in addition to amortized constant time and zero space for each call.

char const* struniq_sparse int   
 

Returns a unique string pointer for each argument.

The string is a valid C identifier. The time complexity is logarithmic in the number of distinct uniqstr_* pointers returned.

wchar_t const* struniq_static wchar_t const *   
 

Returns a unique pointer for all lexically equal strings.

The string argument must have static lifetime.

char const* struniq_static char const *   
 

Returns a unique pointer for all lexically equal strings.

The string argument must have static lifetime.

template<typename TreeIterator0, typename TreeIterator1>
bool subtree_counted_equal TreeIterator0    it0,
TreeIterator0    it0end,
TreeIterator1    it1,
TreeIterator1    it1end
 

template<typename TreeIterator>
void subtree_dump TreeIterator    it,
std::ostream &    os,
int    level = 0,
unsigned int    cont = 0
 

template<typename Element>
bool more::gen::succ Element    e0,
Element    e1
[inline]
 

returns true if .

template<typename Element>
bool more::gen::succeq Element    e0,
Element    e1
[inline]
 

returns true if .

template<typename Element>
std::pair< typename Element::supremum_iterator, typename Element::supremum_iterator > more::gen::supremums Element    e
 

template<typename T, typename Allocator>
void swap nary_tree< T, Allocator > &    x,
nary_tree< T, Allocator > &    y
[inline]
 

template<typename T, typename U>
refpair<T, U> tie T &    x,
U &    y
[inline]
 

Creates a refpair.

template<typename T1, typename T2, typename T3>
__Expr7 where const T1 &    x,
const T2 &    y,
const T3 &    z
[inline]
 

A replacement for the non-existing 'operator:?' for lambda expressions.


Variable Documentation

bool more::gen::opt_recycler_do_log
 

To enable some logging, set opt_recycler_enable_log to true.

MORE_ENABLE_LOGGING must be defined for this to take full effect.


Generated on Sat Sep 7 19:12:05 2002 for more with Doxygen 1.2.13.1. Doxygen 1.2.13.1 is written and copyright 1997-2002 by Dimitri van Heesch.