Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:43

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License"); 
0008  * you may not use this file except in compliance with the License.  
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software 
0014  * distributed under the License is distributed on an "AS IS" BASIS, 
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
0016  * See the License for the specific language governing permissions and 
0017  * limitations under the License.
0018  */
0019 
0020 #pragma once
0021 
0022 /**
0023 SPairVec<K,V>
0024 ===============
0025 
0026 Utilities for sorting vectors of key value pairs.
0027 
0028 
0029 **/
0030 
0031 
0032 #include <map>
0033 #include <vector>
0034 
0035 #include "SYSRAP_API_EXPORT.hh"
0036  
0037 template <typename K, typename V>
0038 struct SYSRAP_API SPairVec
0039 {
0040     typedef typename std::pair<K,V>    PKV ; 
0041     typedef typename std::vector<PKV>  LPKV ; 
0042 
0043     SPairVec( LPKV& lpkv, bool ascending ); 
0044 
0045     bool operator()(const PKV& a, const PKV& b);
0046     void sort(); 
0047     void dump(const char* msg) const ; 
0048 
0049     LPKV&  _lpkv ; 
0050     bool   _ascending ; 
0051 
0052 };
0053 
0054