##// END OF EJS Templates
Wait for the end of an acquisition to validate an operation (2)...
Wait for the end of an acquisition to validate an operation (2) Creates signal in VariableController emitted when there is no pending acquisition

File last commit:

r709:8d80a1dd4059
r1247:feac825a443e
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