Advertisement
popov-aa

Untitled

Jun 9th, 2021
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.25 KB | None | 0 0
  1. namespace n1
  2. {
  3. namespace n2
  4. {
  5.  
  6. /*----                                                                                        ----*/
  7. template<class T, class C, class I>
  8. boost::optional<const T&> getObjByName( const std::string& name,
  9.                                         const C* objCollection,
  10.                                         const I* collection,
  11.                                         const I* collectionRu )
  12. {
  13.     const T* apbObj = nullptr;
  14.  
  15.     auto getnpByName = [&]( const NameIndex* nameIndex )
  16.     {
  17.         if ( nameIndex == nullptr )
  18.             return apbObj;
  19.  
  20.         auto npnamecount = nameIndex->count( name );
  21.         if ( npnamecount > 0 )
  22.         {
  23.             auto pos = nameIndex->find( name );
  24.             apbObj   = &objCollection->at( pos->second );
  25.         }
  26.         return apbObj;
  27.     };
  28.  
  29.     std::map<TlgParser::Language, std::function<void()>> collectionFinders(
  30.         { { TlgParser::Language::EN, [&]() { getnpByName( collection ); } },
  31.           { TlgParser::Language::RU, [&]() { getnpByName( collectionRu ); } } } );
  32.  
  33.     auto lang = TlgParser::checkLanguage( name.c_str() );
  34.  
  35.     if ( collectionFinders.find( lang ) != collectionFinders.end() )
  36.         collectionFinders[lang]();
  37.  
  38.     if ( apbObj == nullptr )
  39.         return boost::none;
  40.     else
  41.         return *apbObj;
  42. }
  43.  
  44. /*----                                                                                        ----*/
  45. static const Common::AdvancedEnum<TlgParser::Language, QString> charsUp( { { "Unknown", TlgParser::Language::Unknown },
  46.                                                                            { "A-Z", TlgParser::Language::EN },
  47.                                                                            { "А-Я", TlgParser::Language::RU } } );
  48.  
  49. *dynamic_cast<A::A*>( this ) = *dynamic_cast<const A::A*>( value );
  50.  
  51. for ( auto&& state : kolektsia )
  52. {
  53.     PDEBUGVV( m_logName ) << wrapInColor( std::string( "[ " ) + ANIPBL::aniTypes.at( state.first ) + " : "
  54.                                               + ( ( state.second ) ? " ok " : "fail" ) + std::string( " ]" ),
  55.                                           ( state.second ) ? 32 : 31 );
  56. }
  57.  
  58. bool res( nullptr != m_awNameIndex.get() && nullptr != m_awRuNameIndex.get() && nullptr != m_npNameIndex.get()
  59.           && nullptr != m_npRuNameIndex.get() && nullptr != m_firIdIndex.get() && nullptr != m_firNameIndex.get()
  60.           && nullptr != m_firRuNameIndex.get() );
  61.  
  62. if ( nameIndex == nullptr )
  63.     return apbObj;
  64.  
  65. std::map<TlgParser::Language, std::function<void()>> collectionFinders(
  66.     { { TlgParser::Language::EN, [&]() { getnpByName( collection ); } },
  67.       { TlgParser::Language::RU, [&]() { getnpByName( collectionRu ); } } } );
  68.  
  69. for ( const auto& code : airdromes->at( i ).codelat() )
  70. {
  71.     m_adNameIndex->emplace( code, i );
  72. }
  73.  
  74. const NameIndex* ANIHandler::awNameIndex() const
  75. {
  76.     switch ( expression )
  77.     {
  78.         case 1:
  79.         {
  80.             /* code */
  81.             break;
  82.         }
  83.  
  84.         case 2:
  85.             /* code */
  86.             break;
  87.  
  88.         default:
  89.             break;
  90.     }
  91.     return m_awNameIndex.get();
  92. }
  93.  
  94. std::pair<std::unique_ptr<F15Content>, std::unique_ptr<FieldState>> F15Parser::parseField15( const TelegramField& field,
  95.                                                                                              int shift )
  96. {
  97. }
  98.  
  99. Aircraft::Aircraft( const double stallSpeed_, const QString& synonym_, const QString& synonym_ru_ )
  100. {
  101. }
  102.  
  103. f( aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa );
  104.  
  105. f( aaaaaaaaaaaaaaaaaaaa,
  106.    aaaaaaaaaaaaaaaaaaaa,
  107.    aaaaaaaaaaaaaaaaaaaa,
  108.    aaaaaaaaaaaaaaaaaaaa,
  109.    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa );
  110.  
  111. if ( telegram.telegramType == TelegramType::PLN || telegram.telegramType == TelegramType::FPL
  112.      || telegram.telegramType == TelegramType::SHR )
  113. {
  114. }
  115.  
  116. if ( telegram.telegramType == 1 || telegram.telegramType == 2 || telegram.telegramType == 3 ) {}
  117.  
  118. template<class T>
  119. std::unique_ptr<T> to_unique( T* ptr )
  120. {
  121.     return std::unique_ptr<T>( ptr );
  122. }
  123.  
  124. (void)( std::string ( * )( const std::string&, const int ) ) wrapInColor;
  125.  
  126. #define PWARNINGVVV( loggerName ) PWARNING_IF( value ) << "[VVV] "
  127.  
  128. } // namespace n2
  129.  
  130. } // namespace n1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement