////////////////////////////////////////////////////////////////////////////// // // reject_null_static.cpp // ////////////////////////////////////////////////////////////////////////////// // // Copyright (C) David B. Held 2002-2003. // // See http://www.boost.org/ for most recent version, including documentation. // // Permission is hereby granted, free of charge, to any person or organization // obtaining a copy of the software and accompanying documentation covered by // this license (the "Software") to use, reproduce, display, distribute, // execute, and transmit the Software, and to prepare derivative works of the // Software, and to permit third-parties to whom the Software is furnished to // do so, all subject to the following: // // The copyright notices in the Software and this entire statement, including // the above license grant, this restriction and the following disclaimer, // must be included in all copies of the Software, in whole or in part, and // all derivative works of the Software, unless such copies or derivative // works are solely in the form of machine-executable object code generated by // a source language processor. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. // ////////////////////////////////////////////////////////////////////////////// // // This is a checking policy testing program for the policy-based smart // pointer library. This test should fail to compile, which is why it is in // its own file. See libs/policy_ptr/doc/index.html // ////////////////////////////////////////////////////////////////////////////// #define BOOST_SMART_POINTER_BASIC_INTERFACE #include #include #include #include "../smart_ptr.hpp" class object { public: object(int x) : x_(x) { } int x(void) const { return x_; } private: int x_; }; // Hack for VC's lack of ADL namespace boost { namespace test = unit_test_framework; using mpl::_; void reject_null_static_test(void) { smart_ptr > p; } } using namespace boost; test::test_suite* init_unit_test_suite(int argc, char* argv[]) { test::test_suite* test = BOOST_TEST_SUITE("smart_ptr reject_null_static test"); test->add(BOOST_TEST_CASE(&reject_null_static_test)); return test; }