//----------------------------------------------------------------------------- // boost-libs variant/test/test4.cpp source file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // // Copyright (c) 2003 // Eric Friedman, Itay Maman // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include "boost/config.hpp" #ifdef BOOST_MSVC #pragma warning(disable:4244) // conversion from 'const int' to 'const short' #endif #include "boost/core/lightweight_test.hpp" #include "boost/variant.hpp" #include "jobs.h" #include struct class_a; using boost::variant; typedef variant var_type_1; typedef variant var_type_2; #include "class_a.h" int main() { 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 boost::report_errors(); }