//----------------------------------------------------------------------------- // boost-libs variant/test/test4.cpp header file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // // Copyright (c) 2003 // Eric Friedman, Itay Maman // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appears in all copies and // that both the copyright notice and this permission notice appear in // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. #include "boost/test/minimal.hpp" #include "boost/variant.hpp" #include "boost/incomplete.hpp" #include "jobs.h" #include struct class_a; using boost::incomplete; using boost::variant; typedef variant, float> var_type_1; typedef variant, short> var_type_2; #include "class_a.h" int test_main(int , char* []) { using namespace boost; var_type_1 v1; var_type_2 v2; v1 = class_a(); verify(v1, spec(), "[V] class_a(5511)"); verify(v2, spec(), "[V] "); v2 = "abcde"; verify(v2, spec(), "[V] abcde"); v2 = v1; verify(v2, spec(), "[V] class_a(5511)"); v2 = 5; v1 = v2; return 0; }