|
|
virtual std::unique_ptr< DataWriter > | create (const FileExtension &key) const override |
|
virtual std::unique_ptr< DataWriter > | create (std::string_view key) const override |
|
template<typename T> |
| std::vector< FileExtension > | getExtensionsForType () const |
|
template<typename... Ts> |
| std::vector< FileExtension > | getExtensionsForTypes () const |
|
template<typename... Ts> |
| auto | getExtensionsForTypesView () const |
|
auto | getKeyView () const |
|
auto | getValueView () const |
|
template<typename T> |
| std::unique_ptr< DataWriterType< T > > | getWriterForTypeAndExtension (const FileExtension &ext) const |
| template<typename T> |
| std::unique_ptr< DataWriterType< T > > | getWriterForTypeAndExtension (const FileExtension &ext, const std::filesystem::path &fallbackFilePathOrExtension) const |
| template<typename T> |
| std::unique_ptr< DataWriterType< T > > | getWriterForTypeAndExtension (const std::filesystem::path &filePathOrExtension) const |
| | Return a writer matching the file extension of DataWriterType of type T. Does case insensitive comparison between the last part of filePathOrExtension and each registered extension. Does not check for "." before the extension, so it is valid to pass for example "png".
|
| virtual bool | hasKey (const FileExtension &key) const override |
| virtual bool | hasKey (std::string_view key) const override |
|
template<typename T> |
| bool | hasWriterForTypeAndExtension (const FileExtension &ext) const |
|
template<typename T> |
| bool | hasWriterForTypeAndExtension (const std::filesystem::path &filePathOrExtension) const |
|
bool | registerObject (DataWriter *writer) |
|
bool | unRegisterObject (DataWriter *writer) |
|
template<typename T> |
| bool | writeDataForTypeAndExtension (const T *data, const std::filesystem::path &filePath, std::optional< FileExtension > ext=std::nullopt) const |
|
virtual std::unique_ptr< DataWriter > | create (const FileExtension &key, Args... args) const=0 |
|
virtual std::shared_ptr< DataWriter > | createShared (const FileExtension &key, Args... args) const |
|
Factory & | operator= (const Factory &)=delete |
|
virtual std::unique_ptr< DataWriter > | create (std::string_view key, Args... args) const=0 |
|
virtual std::shared_ptr< DataWriter > | createShared (std::string_view key, Args... args) const |
|
Factory & | operator= (const Factory &)=delete |
|
void | addObserver (FactoryObserver< DataWriter > *observer) |
|
bool | isObservedBy (FactoryObserver< DataWriter > *observer) const |
| Observable< FactoryObserver< DataWriter > > & | operator= (const Observable< FactoryObserver< DataWriter > > &other) |
|
void | removeObserver (FactoryObserver< DataWriter > *observer) |
| virtual void | startBlockingNotifications () override final |
| virtual void | stopBlockingNotifications () override final |