diff --git a/build/codeblocks/nana.cbp b/build/codeblocks/nana.cbp index 49f61ad7..e0d020a6 100644 --- a/build/codeblocks/nana.cbp +++ b/build/codeblocks/nana.cbp @@ -119,7 +119,6 @@ - diff --git a/build/vc2013/nana.vcxproj b/build/vc2013/nana.vcxproj index 01db0e79..82ed86e6 100644 --- a/build/vc2013/nana.vcxproj +++ b/build/vc2013/nana.vcxproj @@ -256,7 +256,6 @@ - diff --git a/build/vc2013/nana.vcxproj.filters b/build/vc2013/nana.vcxproj.filters index d2c700e8..1d5d8d11 100644 --- a/build/vc2013/nana.vcxproj.filters +++ b/build/vc2013/nana.vcxproj.filters @@ -291,9 +291,6 @@ Source Files\nana - - Source Files\nana - Source Files\nana diff --git a/build/vc2015/nana.vcxproj b/build/vc2015/nana.vcxproj index 89ceaaa3..139797f3 100644 --- a/build/vc2015/nana.vcxproj +++ b/build/vc2015/nana.vcxproj @@ -249,7 +249,6 @@ - diff --git a/build/vc2015/nana.vcxproj.filters b/build/vc2015/nana.vcxproj.filters index 8130c2bc..9781e955 100644 --- a/build/vc2015/nana.vcxproj.filters +++ b/build/vc2015/nana.vcxproj.filters @@ -69,9 +69,6 @@ Source Files - - Source Files - Source Files diff --git a/include/nana/filesystem/filesystem.hpp b/include/nana/filesystem/filesystem.hpp index 4cea3916..6425f922 100644 --- a/include/nana/filesystem/filesystem.hpp +++ b/include/nana/filesystem/filesystem.hpp @@ -1,7 +1,7 @@ /* * A ISO C++ filesystem Implementation * Nana C++ Library(http://www.nanapro.org) - * Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com) + * Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com) * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at diff --git a/include/nana/traits.hpp b/include/nana/traits.hpp index d1c5c56e..ae27f9ff 100644 --- a/include/nana/traits.hpp +++ b/include/nana/traits.hpp @@ -1,6 +1,6 @@ /* * Traits Implementation - * Copyright(C) 2003-2013 Jinhao(cnjinhao@hotmail.com) + * Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com) * * @file: nana/traits.hpp */ @@ -13,502 +13,24 @@ namespace nana { class null_type{}; - //The class noncopyable and nonmovable will be deprecated while the compiler - //supports the deleted functions - struct noncopyable + /// Prevent a class to be copyable + class noncopyable { noncopyable(const noncopyable&) = delete; noncopyable& operator=(const noncopyable&) = delete; - noncopyable(); + protected: + noncopyable() = default; }; - struct nonmovable + /// Prevent a class to be movable + class nonmovable { nonmovable(nonmovable&&) = delete; nonmovable& operator=(nonmovable&&) = delete; - nonmovable(); + protected: + nonmovable() = default; }; - namespace traits - { - //traits types for const-volatile specifier - - struct no_specifier{}; - struct const_specifier{}; - struct volatile_specifier{}; - struct const_volatile_specifier{}; - - template - struct cv_specifier - { - typedef no_specifier value_type; - }; - - template - struct cv_specifier - { - typedef const_specifier value_type; - }; - - template - struct cv_specifier - { - typedef volatile_specifier value_type; - }; - - template - struct cv_specifier - { - typedef const_volatile_specifier value_type; - }; - - template - struct is_function_pointer - : public std::integral_constant::value && std::is_function::type>::value> - {}; - - //The traits of pointer to member function - template - struct mfptr_traits - { - typedef void function(); - typedef void return_type; - typedef void concept_type; - enum{parameter = 0}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef return_type function(); - enum{parameter = 0}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef return_type function(); - enum{parameter = 0}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef return_type function(); - enum{parameter = 0}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef return_type function(); - enum{parameter = 0}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P param0_type; - typedef return_type function(param0_type); - enum{parameter = 1}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P param0_type; - typedef return_type function(param0_type); - enum{parameter = 1}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P param0_type; - typedef return_type function(param0_type); - enum{parameter = 1}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef return_type function(param0_type, param1_type); - enum{parameter = 2}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef return_type function(param0_type, param1_type); - enum{parameter = 2}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef return_type function(param0_type, param1_type); - enum{parameter = 2}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef return_type function(param0_type, param1_type, param2_type); - enum{parameter =3}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef return_type function(param0_type, param1_type, param2_type); - enum{parameter =3}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef return_type function(param0_type, param1_type, param2_type); - enum{parameter =3}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef return_type function(param0_type, param1_type, param2_type); - enum{parameter =3}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type); - enum{parameter = 4}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type); - enum{parameter = 4}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type); - enum{parameter = 4}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type); - enum{parameter = 4}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef P4 param4_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type, param4_type); - enum{parameter = 5}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef P4 param4_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type, param4_type); - enum{parameter = 5}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef P4 param4_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type, param4_type); - enum{parameter = 5}; - }; - - template - struct mfptr_traits - { - typedef Concept concept_type; - typedef R return_type; - typedef P0 param0_type; - typedef P1 param1_type; - typedef P2 param2_type; - typedef P3 param3_type; - typedef P4 param4_type; - typedef return_type function(param0_type, param1_type, param2_type, param3_type, param4_type); - enum{parameter = 5}; - }; - - - - template - struct make_mf - { - typedef int type; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(); - }; - - template - struct make_mf - { - typedef R(Concept::*type)() const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)() volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)() const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0) const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1) const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2) const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3) const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4) const volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4, P5); - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4, P5) const; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4, P5) volatile; - }; - - template - struct make_mf - { - typedef R(Concept::*type)(P0, P1, P2, P3, P4, P5) const volatile; - }; - }//end namespace traits - namespace meta { template< typename Param0 = null_type, typename Param1 = null_type, diff --git a/source/filesystem/filesystem.cpp b/source/filesystem/filesystem.cpp index af9f11ea..471c718e 100644 --- a/source/filesystem/filesystem.cpp +++ b/source/filesystem/filesystem.cpp @@ -1,6 +1,6 @@ /* * A ISO C++ FileSystem Implementation - * Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com) + * Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com) * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at diff --git a/source/traits.cpp b/source/traits.cpp deleted file mode 100644 index 591d4f76..00000000 --- a/source/traits.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Traits Implementation - * Copyright(C) 2003-2013 Jinhao(cnjinhao@hotmail.com) - * - * @file: source/traits.cpp - */ - -#include - -namespace nana -{ - //class noncopyable - noncopyable::noncopyable(){} - //end class noncopyable - - //class nonmovable - nonmovable::nonmovable(){} - //end class nonmovable - -}//end namespace nana