VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fomSorter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2023 MAK Technologies
3 ** All rights reserved.
4 *********************************************************************/
5 #ifndef fomSorter_h_
6 #define fomSorter_h_
7 
8 #include <vlutil/vlString.h>
9 #include <vlutil/vlFedTarget.h>
10 #include <vector>
11 #include <map>
12 
16 
17 #ifdef DtUSE_UTILITIES_NAMESPACE
18 namespace DtUSE_UTILITIES_NAMESPACE
19 {
20 #endif
21 
30  {
31  public:
32 
34  DtFomSorter();
35 
37  virtual ~DtFomSorter();
38 
41  virtual void addFom(const DtString& fomFileName, const DtString& fomIdentifcation,
42  const std::vector<DtString>& depedencies);
43 
45  virtual void clear();
46 
48  virtual void getSortedFomFileNames(std::vector< DtString >& fomFileNames );
49 
50  protected:
51 
55  virtual int mapFomDepedency(const DtString& fomName, std::set< DtString >& visitedFoms);
56 
58  virtual void mapFomDepedencies();
59 
61  virtual const DtString& fileNameFromFomName(const DtString& fomName) const;
62 
64  virtual const DtString& fomNameFromFileName(const DtString& fomFileName) const;
65 
67  virtual void addFomDependencyMapping(int dependencyValue, const DtString& fomName);
68 
70  virtual void fixDuplicateFomNames();
71 
74  virtual DtString& makeUniqueFomName(DtString& fomName);
75 
76  protected:
77 
78  typedef std::pair< int, DtString > DtCompFomPair;
79  typedef std::pair< DtString, int > DtFomCompPair;
80  typedef std::pair< DtString, std::vector<DtString> > DtFomDepsPair;
81 
82  typedef std::multimap< int, DtString > DtDependencyToFomMMap;
83  typedef std::map< DtString, int > DtFomToDependencyMap;
84  typedef std::map< DtString, DtFomDepsPair > DtFileToDepsPairMap;
85  typedef std::map< DtString, DtString > DtFomToFileMap;
86 
87 
94 
96  };
97 
98 #ifdef DtUSE_UTILITIES_NAMESPACE
99 }
100 #endif
101 #endif // fomSorter_h_
std::map< DtString, DtFomDepsPair > DtFileToDepsPairMap
Definition: fomSorter.h:84
std::pair< int, DtString > DtCompFomPair
Definition: fomSorter.h:78
bool myMappingUpated
Definition: fomSorter.h:95
DtFileToDepsPairMap myFileToDupDepsPairMap
Definition: fomSorter.h:91
Contains the DtString class declaration.
std::map< DtString, DtString > DtFomToFileMap
Definition: fomSorter.h:85
std::map< DtString, int > DtFomToDependencyMap
Definition: fomSorter.h:83
This file contains the declaration of DtFedTarget and several helper classes.
const DtString myEmptyName
Definition: fomSorter.h:93
DtDependencyToFomMMap myDependencyToFomMMap
Definition: fomSorter.h:88
DtFomToFileMap myFomToFileMap
Definition: fomSorter.h:92
std::pair< DtString, int > DtFomCompPair
Definition: fomSorter.h:79
DtFomToDependencyMap myFomToDependencyMap
Definition: fomSorter.h:89
#define DT_DLL_MTL
Definition: vlMachineTypes.h:106
DtFileToDepsPairMap myFileToDepsPairMap
Definition: fomSorter.h:90
Instances of DtString are used to represent strings.
Definition: vlString.h:29
This class facilitates FOM file sorting based on FOM dependencies.
Definition: fomSorter.h:29
std::multimap< int, DtString > DtDependencyToFomMMap
Definition: fomSorter.h:82
std::pair< DtString, std::vector< DtString > > DtFomDepsPair
Definition: fomSorter.h:80

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)