os/ossrv/stdcpp/tsrc/Boost_test/variant/src/test4.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 //-----------------------------------------------------------------------------
     2 // boost-libs variant/test/test4.cpp source file
     3 // See http://www.boost.org for updates, documentation, and revision history.
     4 //-----------------------------------------------------------------------------
     5 //
     6 // Copyright (c) 2003
     7 // Eric Friedman, Itay Maman
     8 //
     9 // Distributed under the Boost Software License, Version 1.0. (See
    10 // accompanying file LICENSE_1_0.txt or copy at
    11 // http://www.boost.org/LICENSE_1_0.txt)
    12 /*
    13  * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
    14 */
    15 
    16 #include "boost/test/minimal.hpp"
    17 #include "boost/variant.hpp"
    18 
    19 #include "jobs.h"
    20 
    21 #include <string>
    22 #ifdef __SYMBIAN32__
    23 #include "std_log_result.h"
    24 #define LOG_FILENAME_LINE __FILE__, __LINE__
    25 #endif
    26 struct class_a;
    27 
    28 using boost::variant;
    29 
    30 typedef variant<std::string, class_a, float> var_type_1;
    31 typedef variant<std::string, class_a, short> var_type_2;
    32 
    33 #include "class_a.h"
    34 
    35 int test_main(int , char* [])
    36 {
    37    using namespace boost;
    38 std_log(LOG_FILENAME_LINE,"[Test Case for test4]");
    39    var_type_1 v1;
    40    var_type_2 v2;
    41 
    42    v1 = class_a();
    43    verify(v1, spec<class_a>(), "[V] class_a(5511)");
    44 
    45    verify(v2, spec<std::string>(), "[V] ");
    46 
    47    v2 = "abcde";
    48    verify(v2, spec<std::string>(), "[V] abcde");
    49 
    50    v2 = v1;
    51    verify(v2, spec<class_a>(), "[V] class_a(5511)");
    52 
    53    v2 = 5;
    54    v1 = v2;
    55 #ifdef __SYMBIAN32__
    56    	testResultXml("test4");
    57 	close_log_file();
    58 #endif
    59    return boost::exit_success;
    60 }