Updated makefile a bit, removed some incorrect constexpr (thanks to clang actually reporting them unlike gcc

This commit is contained in:
rexy712 2019-01-14 12:36:38 -08:00
parent ef181a6065
commit 0a0f9303ea
4 changed files with 15 additions and 15 deletions

View File

@ -49,7 +49,7 @@ private:
color curr = color::red; color curr = color::red;
constexpr color_state(void)noexcept{ color_state(void)noexcept{
switch(rand()%3){ switch(rand()%3){
case 0: case 0:
r = color_max_amount; r = color_max_amount;
@ -95,7 +95,7 @@ private:
} }
}m_line_color = {}, m_color = m_line_color; }m_line_color = {}, m_color = m_line_color;
public: public:
constexpr color_printer_true(const cmd_args& args)noexcept: color_printer_true(const cmd_args& args)noexcept:
color_printer_base<color_printer_true>(args, args.invert ? L"\033[38;5;0m\033[48;2;%s;%s;%sm" : L"\033[38;2;%s;%s;%sm"){} color_printer_base<color_printer_true>(args, args.invert ? L"\033[38;5;0m\033[48;2;%s;%s;%sm" : L"\033[38;2;%s;%s;%sm"){}
protected: protected:

View File

@ -71,11 +71,11 @@ protected:
constexpr printer_base(const wchar_t* tabstr, const cmd_args& args)noexcept; constexpr printer_base(const wchar_t* tabstr, const cmd_args& args)noexcept;
~printer_base(void)noexcept = default; ~printer_base(void)noexcept = default;
public: public:
constexpr Derived& print(wchar_t s)noexcept(noexcept(std::declval<Derived>()._print(s))); Derived& print(wchar_t s)noexcept(noexcept(std::declval<Derived>()._print(s)));
constexpr Derived& print(const wchar_t* s)noexcept(noexcept(std::declval<printer_base<Derived>>().print(std::declval<wchar_t>()))); Derived& print(const wchar_t* s)noexcept(noexcept(std::declval<printer_base<Derived>>().print(std::declval<wchar_t>())));
constexpr Derived& print(char s); Derived& print(char s);
constexpr Derived& print(const char* s); Derived& print(const char* s);
constexpr Derived& reset(void); Derived& reset(void);
}; };
#endif #endif

View File

@ -39,7 +39,7 @@ constexpr printer_base<Derived>::printer_base(const wchar_t* tabstr, const cmd_a
m_tab_size(wcslen(tabstr)){} m_tab_size(wcslen(tabstr)){}
template<class Derived> template<class Derived>
constexpr auto printer_base<Derived>::print(wchar_t s)noexcept(noexcept(std::declval<Derived>()._print(s))) -> Derived&{ auto printer_base<Derived>::print(wchar_t s)noexcept(noexcept(std::declval<Derived>()._print(s))) -> Derived&{
Derived& dv = static_cast<Derived&>(*this); Derived& dv = static_cast<Derived&>(*this);
//suppress repeated blank lines //suppress repeated blank lines
if(m_squeeze_blank){ if(m_squeeze_blank){
@ -88,27 +88,27 @@ constexpr auto printer_base<Derived>::print(wchar_t s)noexcept(noexcept(std::dec
} }
template<class Derived> template<class Derived>
constexpr auto printer_base<Derived>::print(const wchar_t* s)noexcept(noexcept(std::declval<printer_base<Derived>>().print(std::declval<wchar_t>()))) -> Derived&{ auto printer_base<Derived>::print(const wchar_t* s)noexcept(noexcept(std::declval<printer_base<Derived>>().print(std::declval<wchar_t>()))) -> Derived&{
for(;*s != 0;++s){ for(;*s != 0;++s){
print(*s); print(*s);
} }
return static_cast<Derived&>(*this); return static_cast<Derived&>(*this);
} }
template<class Derived> template<class Derived>
constexpr auto printer_base<Derived>::print(char s) -> Derived&{ auto printer_base<Derived>::print(char s) -> Derived&{
wchar_t tmp; wchar_t tmp;
mbstowcs(&tmp, &s, 1); mbstowcs(&tmp, &s, 1);
return print(tmp); return print(tmp);
} }
template<class Derived> template<class Derived>
constexpr auto printer_base<Derived>::print(const char* s) -> Derived&{ auto printer_base<Derived>::print(const char* s) -> Derived&{
for(;*s != 0;++s){ for(;*s != 0;++s){
print(*s); print(*s);
} }
return static_cast<Derived&>(*this); return static_cast<Derived&>(*this);
} }
template<class Derived> template<class Derived>
constexpr auto printer_base<Derived>::reset(void) -> Derived&{ auto printer_base<Derived>::reset(void) -> Derived&{
if constexpr(HAS_FUNC(_reset)<Derived,Derived&>::value){ if constexpr(HAS_FUNC(_reset)<Derived,Derived&>::value){
return static_cast<Derived&>(*this)._reset(); return static_cast<Derived&>(*this)._reset();
}else{ }else{

View File

@ -11,7 +11,7 @@
#You should have received a copy of the GNU General Public License #You should have received a copy of the GNU General Public License
#along with this program. If not, see <http://www.gnu.org/licenses/>. #along with this program. If not, see <http://www.gnu.org/licenses/>.
#Copyright 2018 rexy712 #Copyright 2018-2019 rexy712
SOURCE_DIRS:=src SOURCE_DIRS:=src
@ -19,7 +19,7 @@ OBJDIR:=obj
DEPDIR:=$(OBJDIR)/dep DEPDIR:=$(OBJDIR)/dep
INCLUDE_DIRS:=include INCLUDE_DIRS:=include
EXT:=cpp EXT:=cpp
MAIN_EXECUTABLE:=tester MAIN_EXECUTABLE:=roflcat
CXX:=g++ CXX:=g++
CXXFLAGS:=-g -std=c++17 -Wall -pedantic -Wextra -fno-exceptions -fno-rtti CXXFLAGS:=-g -std=c++17 -Wall -pedantic -Wextra -fno-exceptions -fno-rtti
@ -38,7 +38,7 @@ ifeq ($(OS),Windows_NT)
rmdir=rd /s /q $(1) > NUL 2>&1 rmdir=rd /s /q $(1) > NUL 2>&1
move=move /y $(subst /,\,$(1)) $(subst /,\,$(2)) > NUL 2>&1 move=move /y $(subst /,\,$(1)) $(subst /,\,$(2)) > NUL 2>&1
MAIN_EXECUTABLE:=$(MAIN_EXECUTABLE).exe MAIN_EXECUTABLE:=$(MAIN_EXECUTABLE).exe
LDLIBS:=-lglfw3 -lSOIL -lgl3w -lm -lopengl32 -lglu32 -lgdi32 -lkernel32 LDLIBS:=-lncurses
else else
mkdir=mkdir -p $(1) mkdir=mkdir -p $(1)
rm=rm -f $(1) rm=rm -f $(1)