Fixed formatting
[libcds.git] / cds / opt / hash.h
index 2c457f79996b50486820f7bfdab5671878a39a37..ec0e5aa76c0cbac4233edb9c02a6ea3e378440f9 100644 (file)
@@ -1,7 +1,35 @@
-//$$CDS-header$$
+/*
+    This file is a part of libcds - Concurrent Data Structures library
 
-#ifndef __CDS_OPT_HASH_H
-#define __CDS_OPT_HASH_H
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+
+    Source code repo: http://github.com/khizmax/libcds/
+    Download: http://sourceforge.net/projects/libcds/files/
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+      list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef CDSLIB_OPT_HASH_H
+#define CDSLIB_OPT_HASH_H
 
 #include <tuple>
 #include <functional>
@@ -15,8 +43,6 @@ namespace cds { namespace opt {
 
         The default value  of template argument \p Functor is \p cds::opt::v::hash
         that is synonym for <tt>std::hash</tt> implementation of standard library.
-        If standard C++ library of the compiler you use does not provide TR1 implementation
-        the \p cds library automatically selects <tt>boost::hash</tt>.
     */
     template <typename Functor>
     struct hash {
@@ -85,7 +111,7 @@ namespace cds { namespace opt {
             {}
 
             template <size_t I, typename T>
-            typename std::enable_if< (I == sizeof...(Functors)) >::type apply( size_t * dest, T const& v ) const
+            typename std::enable_if< (I == sizeof...(Functors)) >::type apply( size_t * /*dest*/, T const& /*v*/ ) const
             {}
 
             template <size_t I, typename T>
@@ -113,7 +139,7 @@ namespace cds { namespace opt {
     template <typename Functor> struct hash< std::tuple<Functor> >;
     //@endcond
 
-    /// Multi-functor hash option setter - specialization for std::tuple
+    /// Multi-functor hash option setter - specialization for \p std::tuple
     template <typename... Functors>
     struct hash< std::tuple<Functors...> >
     {
@@ -166,4 +192,4 @@ namespace cds { namespace opt {
 
 }} // namespace cds::opt
 
-#endif // #ifndef __CDS_OPT_HASH_H
+#endif // #ifndef CDSLIB_OPT_HASH_H