1// Aseprite Code Generator
2// Copyright (C) 2014-2015 David Capello
3//
4// This file is released under the terms of the MIT license.
5// Read LICENSE.txt for more information.
6
7#ifndef GEN_COMMON_H_INCLUDED
8#define GEN_COMMON_H_INCLUDED
9#pragma once
10
11#include <cctype>
12#include <string>
13
14inline std::string convert_xmlid_to_cppid(const std::string& xmlid, bool firstLetterUpperCase)
15{
16 bool firstLetter = firstLetterUpperCase;
17 std::string cppid;
18 for (std::size_t i=0; i<xmlid.size(); ++i) {
19 if (xmlid[i] == '_') {
20 firstLetter = true;
21 }
22 else if (firstLetter) {
23 firstLetter = false;
24 cppid += std::toupper(xmlid[i]);
25 }
26 else
27 cppid += xmlid[i];
28 }
29 return cppid;
30}
31
32#endif
33