##// END OF EJS Templates
Initial Pybind11 binding experiment working....
Initial Pybind11 binding experiment working. Can open an amda formatted file from Python and get few attributes from ScalarSeries. Loading module from python works. Embedding python interpreter also works. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r709:8d80a1dd4059
r1339:98271eda8c6e
Show More
StringUtils.h
35 lines | 1.0 KiB | text/x-c | CLexer
#ifndef SCIQLOP_STRINGUTILS_H
#define SCIQLOP_STRINGUTILS_H
#include "CoreGlobal.h"
#include <vector>
class QString;
/**
* Utility class with methods for strings
*/
struct SCIQLOP_CORE_EXPORT StringUtils {
/**
* Generates a unique name from a default name and a set of forbidden names.
*
* Generating the unique name is done by adding an index to the default name and stopping at the
* first index for which the generated name is not in the forbidden names.
*
* Examples (defaultName, forbiddenNames -> result):
* - "FGM", {"FGM"} -> "FGM1"
* - "FGM", {"ABC"} -> "FGM"
* - "FGM", {"FGM", "FGM1"} -> "FGM2"
* - "FGM", {"FGM", "FGM2"} -> "FGM1"
* - "", {"ABC"} -> "1"
*
* @param defaultName the default name
* @param forbiddenNames the set of forbidden names
* @return the unique name generated
*/
static QString uniqueName(const QString &defaultName,
const std::vector<QString> &forbiddenNames) noexcept;
};
#endif // SCIQLOP_STRINGUTILS_H