#pragma once
#include "vulkan/layer/vk_layer_settings.h"
#include <vector>
#include <string>
#include <cstring>
#include <cstdarg>
namespace vl {
const VkLayerSettingsCreateInfoEXT *FindSettingsInChain(const void *next);
std::vector<std::string> Split(const std::string &pValues, char delimiter);
enum TrimMode { … };
std::string GetEnvSettingName(const char *layer_key, const char *prefix, const char *setting_key, TrimMode trim_mode);
std::string GetFileSettingName(const char *layer_key, const char *setting_key);
char FindDelimiter(const std::string &s);
char GetEnvDelimiter();
std::string TrimWhitespace(const std::string &s);
std::string TrimPrefix(const std::string &layer_name);
std::string TrimVendor(const std::string &layer_name);
std::string ToLower(const std::string &s);
std::string ToUpper(const std::string &s);
uint32_t ToUint32(const std::string &token);
uint64_t ToUint64(const std::string &token);
int32_t ToInt32(const std::string &token);
int64_t ToInt64(const std::string &token);
bool IsFrameSets(const std::string &s);
VkuFrameset ToFrameSet(const std::string &s);
std::vector<VkuFrameset> ToFrameSets(const std::string &s);
bool IsInteger(const std::string &s);
bool IsFloat(const std::string &s);
std::string FormatString(const char *message, ...);
}