Line data Source code
1 : //
2 : // Author: Saprykin Dmitry <saprykin.dmitry@gmail.com>, (C) 2014
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #ifndef VSET_VTREE_ASPECT_AD_SWAP_CONTAINER_HPP
8 : #define VSET_VTREE_ASPECT_AD_SWAP_CONTAINER_HPP
9 :
10 : #include <vset/vtree/aspect/tags.hpp>
11 : #include <string.h>
12 : #include <stdlib.h>
13 :
14 : namespace vset{ namespace vtree{
15 :
16 29 : struct ad_swap_container
17 : {
18 : template<typename T>
19 1 : void operator()(T& a, T& b)
20 : {
21 1 : a.get_container().swap(b.get_container());
22 1 : std::swap(a.get_aspect().template get<_size_>(), b.get_aspect().template get<_size_>());
23 1 : }
24 : };
25 :
26 : }}
27 :
28 : #endif
|