Apollo 10.0
自动驾驶开放平台
class_loader_utility.h 文件参考
#include <cassert>
#include <cstdio>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <typeinfo>
#include <utility>
#include <vector>
#include "cyber/class_loader/shared_library/shared_library.h"
#include "cyber/class_loader/utility/class_factory.h"
#include "cyber/common/log.h"
class_loader_utility.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

命名空间

namespace  apollo
 class register implement
 
namespace  apollo::cyber
 
namespace  apollo::cyber::class_loader
 
namespace  apollo::cyber::class_loader::utility
 

类型定义

using apollo::cyber::class_loader::utility::SharedLibraryPtr = std::shared_ptr< SharedLibrary >
 
using apollo::cyber::class_loader::utility::ClassClassFactoryMap = std::map< std::string, utility::AbstractClassFactoryBase * >
 
using apollo::cyber::class_loader::utility::BaseToClassFactoryMapMap = std::map< std::string, ClassClassFactoryMap >
 
using apollo::cyber::class_loader::utility::LibPathSharedLibVector = std::vector< std::pair< std::string, SharedLibraryPtr > >
 
using apollo::cyber::class_loader::utility::ClassFactoryVector = std::vector< AbstractClassFactoryBase * >
 

函数

BaseToClassFactoryMapMapapollo::cyber::class_loader::utility::GetClassFactoryMapMap ()
 
std::recursive_mutex & apollo::cyber::class_loader::utility::GetClassFactoryMapMapMutex ()
 
LibPathSharedLibVectorapollo::cyber::class_loader::utility::GetLibPathSharedLibVector ()
 
std::recursive_mutex & apollo::cyber::class_loader::utility::GetLibPathSharedLibMutex ()
 
ClassClassFactoryMapapollo::cyber::class_loader::utility::GetClassFactoryMapByBaseClass (const std::string &typeid_base_class_name)
 
std::string apollo::cyber::class_loader::utility::GetCurLoadingLibraryName ()
 
void apollo::cyber::class_loader::utility::SetCurLoadingLibraryName (const std::string &library_name)
 
ClassLoaderapollo::cyber::class_loader::utility::GetCurActiveClassLoader ()
 
void apollo::cyber::class_loader::utility::SetCurActiveClassLoader (ClassLoader *loader)
 
bool apollo::cyber::class_loader::utility::IsLibraryLoaded (const std::string &library_path, ClassLoader *class_loader)
 
bool apollo::cyber::class_loader::utility::IsLibraryLoadedByAnybody (const std::string &library_path)
 
bool apollo::cyber::class_loader::utility::LoadLibrary (const std::string &library_path, ClassLoader *loader)
 
void apollo::cyber::class_loader::utility::UnloadLibrary (const std::string &library_path, ClassLoader *loader)
 
template<typename Derived , typename Base >
void apollo::cyber::class_loader::utility::RegisterClass (const std::string &class_name, const std::string &base_class_name)
 
template<typename Base >
Baseapollo::cyber::class_loader::utility::CreateClassObj (const std::string &class_name, ClassLoader *loader)
 
template<typename Base >
std::vector< std::string > apollo::cyber::class_loader::utility::GetValidClassNames (ClassLoader *loader)