#include <functional.hpp>
Public Types | |
typedef OutIterator | type |
typedef SerializableType | serializable_type |
Public Member Functions | |
deserialize_to_output_iter_f (type target) | |
Sets this object's output iterator. | |
deserialize_to_output_iter_f (type target, BinaryFunctorT f) | |
Sets this object's output iterator and copies the given functor. | |
template<typename NodeType> | |
bool | operator() (NodeType *const &src) |
Creates a new object of serializable_type and deserializes it. | |
Public Attributes | |
type | iterator |
BinaryFunctorT | functor |
The optional BinaryFunctorT defines the functor to use to deserialize each object. The default simply routes through the s11n::deserialize() API.
SerializableType is unforuntately required: we can't derive it from the output iterator.
SerializableType MAY NOT yet be pointer-qualified. That's on the to-fix list somewhere. It would inherently cause a leak or be very incorrect in some uses, though, like using an ostream_iterator(). It could be made to function, but would not be leak-proof.
Also, we create and copy SerializableTypes here, so that type should be cheap to do that with.
BinaryFunctorT must conform to the interface defined by deserialize_f.
Example, assuming NTR is a node_traits type:
std::for_each( NTR::children(node).begin(), NTR::children(node).end(), deser_to_outiter_f<MyType>( std::back_inserter(myvector) ) );
Definition at line 804 of file functional.hpp.
|
Definition at line 810 of file functional.hpp. |
|
Definition at line 807 of file functional.hpp. |
|
Sets this object's output iterator.
Definition at line 817 of file functional.hpp. |
|
Sets this object's output iterator and copies the given functor.
Definition at line 824 of file functional.hpp. |
|
Creates a new object of serializable_type and deserializes it. On success iterator is assigned and incremented and true is returned. On error false is returned or an exception is propagated. If src is (!src), false is returned. Note that the odd pointerness of the argument is because node children lists contain pointers and are const in a deserialize context. Definition at line 839 of file functional.hpp. References s11n::deserialize_to_output_iter_f< SerializableType, OutIterator, BinaryFunctorT >::functor, and s11n::deserialize_to_output_iter_f< SerializableType, OutIterator, BinaryFunctorT >::iterator. |
|
Definition at line 809 of file functional.hpp. Referenced by s11n::deserialize_to_output_iter_f< SerializableType, OutIterator, BinaryFunctorT >::operator()(). |
|
Definition at line 808 of file functional.hpp. Referenced by s11n::deserialize_to_output_iter_f< SerializableType, OutIterator, BinaryFunctorT >::operator()(). |