xref: /trunk/main/ucb/source/ucp/webdav/PropertyMap.hxx (revision 59ddfc10)
1  /**************************************************************
2   *
3   * Licensed to the Apache Software Foundation (ASF) under one
4   * or more contributor license agreements.  See the NOTICE file
5   * distributed with this work for additional information
6   * regarding copyright ownership.  The ASF licenses this file
7   * to you under the Apache License, Version 2.0 (the
8   * "License"); you may not use this file except in compliance
9   * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   *
20   *************************************************************/
21  
22  
23  
24  #ifndef _WEBDAV_UCP_PROPERTYMAP_HXX
25  #define _WEBDAV_UCP_PROPERTYMAP_HXX
26  
27  #include <hash_set>
28  #include <com/sun/star/beans/Property.hpp>
29  
30  namespace http_dav_ucp {
31  
32  //=========================================================================
33  
34  struct equalPropertyName
35  {
operator ()http_dav_ucp::equalPropertyName36    bool operator()( const ::com::sun::star::beans::Property & p1,
37    				   const ::com::sun::star::beans::Property & p2 ) const
38    {
39  		return !!( p1.Name == p2.Name );
40    }
41  };
42  
43  struct hashPropertyName
44  {
operator ()http_dav_ucp::hashPropertyName45  	size_t operator()( const ::com::sun::star::beans::Property & p ) const
46  	{
47  		return p.Name.hashCode();
48  	}
49  };
50  
51  typedef std::hash_set
52  <
53  	::com::sun::star::beans::Property,
54  	hashPropertyName,
55  	equalPropertyName
56  >
57  PropertyMap;
58  
59  }
60  
61  #endif
62