moving vs stuff into vs folder

This commit is contained in:
Shane
2013-07-15 21:12:47 -07:00
parent 7e2d30a244
commit d0809b6601
3 changed files with 198 additions and 198 deletions

View File

@@ -1,191 +1,191 @@
#include <cereal/access.hpp> #include <cereal/access.hpp>
#include <cereal/details/traits.hpp> #include <cereal/details/traits.hpp>
#include <cereal/details/helpers.hpp> #include <cereal/details/helpers.hpp>
#include <cereal/types/base_class.hpp> #include <cereal/types/base_class.hpp>
#include <cereal/cereal.hpp> #include <cereal/cereal.hpp>
#include <cereal/types/array.hpp> #include <cereal/types/array.hpp>
#include <cereal/types/bitset.hpp> #include <cereal/types/bitset.hpp>
#include <cereal/types/boost_variant.hpp> #include <cereal/types/boost_variant.hpp>
#include <cereal/types/chrono.hpp> #include <cereal/types/chrono.hpp>
#include <cereal/types/common.hpp> #include <cereal/types/common.hpp>
#include <cereal/types/complex.hpp> #include <cereal/types/complex.hpp>
#include <cereal/types/deque.hpp> #include <cereal/types/deque.hpp>
#include <cereal/types/forward_list.hpp> #include <cereal/types/forward_list.hpp>
#include <cereal/types/list.hpp> #include <cereal/types/list.hpp>
#include <cereal/types/map.hpp> #include <cereal/types/map.hpp>
#include <cereal/types/memory.hpp> #include <cereal/types/memory.hpp>
#include <cereal/details/util.hpp> #include <cereal/details/util.hpp>
#include <cereal/details/polymorphic_impl.hpp> #include <cereal/details/polymorphic_impl.hpp>
#include <cereal/types/polymorphic.hpp> #include <cereal/types/polymorphic.hpp>
#include <cereal/types/queue.hpp> #include <cereal/types/queue.hpp>
#include <cereal/types/set.hpp> #include <cereal/types/set.hpp>
#include <cereal/types/stack.hpp> #include <cereal/types/stack.hpp>
#include <cereal/types/string.hpp> #include <cereal/types/string.hpp>
#include <cereal/types/tuple.hpp> #include <cereal/types/tuple.hpp>
#include <cereal/types/unordered_map.hpp> #include <cereal/types/unordered_map.hpp>
#include <cereal/types/unordered_set.hpp> #include <cereal/types/unordered_set.hpp>
#include <cereal/types/utility.hpp> #include <cereal/types/utility.hpp>
#include <cereal/types/vector.hpp> #include <cereal/types/vector.hpp>
#include <cereal/archives/binary.hpp> #include <cereal/archives/binary.hpp>
#include <cereal/archives/portable_binary.hpp> #include <cereal/archives/portable_binary.hpp>
#include <cereal/archives/xml.hpp> #include <cereal/archives/xml.hpp>
#include <cereal/archives/json.hpp> #include <cereal/archives/json.hpp>
#include <iostream> #include <iostream>
#include <type_traits> #include <type_traits>
#include <functional> #include <functional>
struct Archive {}; struct Archive {};
struct Test struct Test
{ {
template <class Archive> template <class Archive>
void serialize( Archive & ar ) void serialize( Archive & ar )
{ {
std::cout << "hey there" << std::endl; std::cout << "hey there" << std::endl;
} }
template <class Archive> template <class Archive>
void save( Archive & ar ) const void save( Archive & ar ) const
{ {
std::cout << "saved by the bell" << std::endl; std::cout << "saved by the bell" << std::endl;
} }
template <class Archive> template <class Archive>
void load( Archive & ar ) void load( Archive & ar )
{ {
std::cout << "locked and loaded" << std::endl; std::cout << "locked and loaded" << std::endl;
} }
template <class Archive> template <class Archive>
static Test * load_and_allocate( Archive & ar ) static Test * load_and_allocate( Archive & ar )
{ } { }
}; };
template <class Archive> template <class Archive>
void serialize( Archive & ar, Test & t ) void serialize( Archive & ar, Test & t )
{ } { }
template <class Archive> template <class Archive>
void load( Archive & ar, Test & t ) void load( Archive & ar, Test & t )
{ } { }
template <class Archive> template <class Archive>
void save( Archive & ar, Test const & t ) void save( Archive & ar, Test const & t )
{ } { }
namespace cereal namespace cereal
{ {
template <> template <>
struct LoadAndAllocate<Test> struct LoadAndAllocate<Test>
{ {
template <class Archive> template <class Archive>
static Test * load_and_allocate( Archive & ar ) static Test * load_and_allocate( Archive & ar )
{ } { }
}; };
} }
struct A struct A
{ {
virtual void foo() = 0; virtual void foo() = 0;
}; };
struct B : A struct B : A
{ {
void foo() {} void foo() {}
}; };
struct C struct C
{ {
char a; char a;
}; };
CEREAL_REGISTER_TYPE(B); CEREAL_REGISTER_TYPE(B);
int main() int main()
{ {
typedef Test T; typedef Test T;
// Test Load and Allocate internal/external // Test Load and Allocate internal/external
std::cout << "\tload_and_allocate" << std::endl; std::cout << "\tload_and_allocate" << std::endl;
std::cout << cereal::traits::has_member_load_and_allocate<T, Archive>::value << std::endl; std::cout << cereal::traits::has_member_load_and_allocate<T, Archive>::value << std::endl;
std::cout << cereal::traits::has_non_member_load_and_allocate<T, Archive>::value << std::endl; std::cout << cereal::traits::has_non_member_load_and_allocate<T, Archive>::value << std::endl;
// serialize // serialize
std::cout << "\tserialize" << std::endl; std::cout << "\tserialize" << std::endl;
std::cout << cereal::traits::has_member_serialize<T, Archive>::value << std::endl; std::cout << cereal::traits::has_member_serialize<T, Archive>::value << std::endl;
std::cout << cereal::traits::has_non_member_serialize<T, Archive>::value << std::endl; std::cout << cereal::traits::has_non_member_serialize<T, Archive>::value << std::endl;
// load // load
std::cout << "\tload" << std::endl; std::cout << "\tload" << std::endl;
std::cout << cereal::traits::has_member_load<T, Archive>::value << std::endl; std::cout << cereal::traits::has_member_load<T, Archive>::value << std::endl;
std::cout << cereal::traits::has_non_member_load<T, Archive>::value << std::endl; std::cout << cereal::traits::has_non_member_load<T, Archive>::value << std::endl;
// save // save
std::cout << "\tsave" << std::endl; std::cout << "\tsave" << std::endl;
std::cout << cereal::traits::has_member_save<T, Archive>::value << std::endl; std::cout << cereal::traits::has_member_save<T, Archive>::value << std::endl;
std::cout << cereal::traits::has_non_member_save<T, Archive>::value << std::endl; std::cout << cereal::traits::has_non_member_save<T, Archive>::value << std::endl;
// splittable // splittable
std::cout << "\t splittable" << std::endl; std::cout << "\t splittable" << std::endl;
std::cout << cereal::traits::has_member_split<T, Archive, Archive>::value << std::endl; std::cout << cereal::traits::has_member_split<T, Archive, Archive>::value << std::endl;
std::cout << cereal::traits::has_non_member_split<T, Archive, Archive>::value << std::endl; std::cout << cereal::traits::has_non_member_split<T, Archive, Archive>::value << std::endl;
// serialiable // serialiable
std::cout << "\toutput serializable" << std::endl; std::cout << "\toutput serializable" << std::endl;
std::cout << cereal::traits::is_output_serializable<T, Archive>::value << std::endl; std::cout << cereal::traits::is_output_serializable<T, Archive>::value << std::endl;
std::cout << cereal::traits::is_input_serializable<T, Archive>::value << std::endl; std::cout << cereal::traits::is_input_serializable<T, Archive>::value << std::endl;
// specialized // specialized
std::cout << "\tspecialized" << std::endl; std::cout << "\tspecialized" << std::endl;
std::cout << cereal::traits::detail::is_specialized_member_serialize<T, Archive>::value << std::endl; std::cout << cereal::traits::detail::is_specialized_member_serialize<T, Archive>::value << std::endl;
std::cout << cereal::traits::detail::is_specialized_member_load_save<T, Archive>::value << std::endl; std::cout << cereal::traits::detail::is_specialized_member_load_save<T, Archive>::value << std::endl;
std::cout << cereal::traits::detail::is_specialized_non_member_serialize<T, Archive>::value << std::endl; std::cout << cereal::traits::detail::is_specialized_non_member_serialize<T, Archive>::value << std::endl;
std::cout << cereal::traits::detail::is_specialized_non_member_load_save<T, Archive>::value << std::endl; std::cout << cereal::traits::detail::is_specialized_non_member_load_save<T, Archive>::value << std::endl;
std::cout << cereal::traits::detail::is_specialized_error<T, Archive>::value << std::endl; std::cout << cereal::traits::detail::is_specialized_error<T, Archive>::value << std::endl;
std::cout << cereal::traits::is_specialized<T, Archive>::value << std::endl; std::cout << cereal::traits::is_specialized<T, Archive>::value << std::endl;
// array size // array size
typedef int arr[5][3][2]; typedef int arr[5][3][2];
std::cout << "\tarray size" << std::endl; std::cout << "\tarray size" << std::endl;
std::cout << cereal::traits::sizeof_array<arr>::value << std::endl; std::cout << cereal::traits::sizeof_array<arr>::value << std::endl;
std::cout << typeid(A).name() << std::endl; std::cout << typeid(A).name() << std::endl;
std::cout << typeid(cereal::traits::has_load_and_allocate<int, bool>).name() << std::endl; std::cout << typeid(cereal::traits::has_load_and_allocate<int, bool>).name() << std::endl;
Archive a; Archive a;
T t; T t;
cereal::access::member_save( a, t ); cereal::access::member_save( a, t );
cereal::access::member_load( a, t ); cereal::access::member_load( a, t );
cereal::access::member_serialize( a, t ); cereal::access::member_serialize( a, t );
//std::stringstream ss; //std::stringstream ss;
{ {
cereal::JSONOutputArchive ar( std::cout ); cereal::JSONOutputArchive ar( std::cout );
ar( 5 ); ar( 5 );
ar( cereal::make_nvp("hello", 2.4f ) ); ar( cereal::make_nvp("hello", 2.4f ) );
std::string s = "hey yo"; std::string s = "hey yo";
ar( CEREAL_NVP( s ) ); ar( CEREAL_NVP( s ) );
} }
//{ //{
// cereal::JSONInputArchive ar( ss ); // cereal::JSONInputArchive ar( ss );
// int x; // int x;
// ar( x ); // ar( x );
// assert( x == 5 ); // assert( x == 5 );
// float f; // float f;
// ar( f ); // ar( f );
// assert( f == 2.4f ); // assert( f == 2.4f );
// std::string s; // std::string s;
// ar( s ); // ar( s );
// assert( s == "hey yo" ); // assert( s == "hey yo" );
//} //}
return 0; return 0;
} }

View File

@@ -74,9 +74,6 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\sandbox_vs2012.cpp" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\include\cereal\access.hpp" /> <ClInclude Include="..\include\cereal\access.hpp" />
<ClInclude Include="..\include\cereal\archives\binary.hpp" /> <ClInclude Include="..\include\cereal\archives\binary.hpp" />
@@ -128,6 +125,9 @@
<ClInclude Include="..\include\cereal\types\utility.hpp" /> <ClInclude Include="..\include\cereal\types\utility.hpp" />
<ClInclude Include="..\include\cereal\types\vector.hpp" /> <ClInclude Include="..\include\cereal\types\vector.hpp" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ClCompile Include="sandbox_vs2012.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>

View File

@@ -14,11 +14,6 @@
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ClCompile Include="..\sandbox_vs2012.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\include\cereal\access.hpp"> <ClInclude Include="..\include\cereal\access.hpp">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
@@ -168,4 +163,9 @@
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ClCompile Include="sandbox_vs2012.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project> </Project>