/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
+Copyright 2014 Glen Joseph Fernandes
+(glenjofe@gmail.com)
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
+Distributed under the Boost Software License, Version 1.0.
+(http://www.boost.org/LICENSE_1_0.txt)
*/
#include <boost/config.hpp>
#if !defined(BOOST_NO_CXX11_SMART_PTR)
class type {
public:
- static unsigned int instances;
+ static unsigned instances;
- explicit type() {
+ type() {
if (instances == 5) {
throw true;
}
- instances++;
+ ++instances;
}
~type() {
- instances--;
+ --instances;
}
private:
type& operator=(const type&);
};
-unsigned int type::instances = 0;
+unsigned type::instances = 0;
int main()
{
} catch (...) {
BOOST_TEST(type::instances == 0);
}
-
BOOST_TEST(type::instances == 0);
try {
boost::make_unique<type[][2]>(3);
} catch (...) {
BOOST_TEST(type::instances == 0);
}
-
BOOST_TEST(type::instances == 0);
try {
boost::make_unique_noinit<type[]>(6);
} catch (...) {
BOOST_TEST(type::instances == 0);
}
-
BOOST_TEST(type::instances == 0);
try {
boost::make_unique_noinit<type[][2]>(3);
} catch (...) {
BOOST_TEST(type::instances == 0);
}
-
return boost::report_errors();
}
#else
-
int main()
{
return 0;
}
-
#endif