parent
37de6068e7
commit
7999b27b86
@ -1,7 +1,15 @@ |
||||
#Compiles the entire program with debug flags then runs it in gdb. |
||||
#Compiles the entire program with debug flags then runs it in gdb. If the "test" argument is included, will try and run tests too (in the test folder) |
||||
#C++ |
||||
printf "Running program...\n\n\n" |
||||
if g++ $(find . -type f -name "*.cpp") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then |
||||
gdb ./${PROJECT_NAME} "$@" |
||||
if [ "$1" = "test" ] |
||||
then |
||||
printf "Running tests...\n" |
||||
if g++ $(find . -type f -name "*.cpp") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then |
||||
gdb ./${PROJECT_NAME} "$@" |
||||
fi |
||||
else |
||||
if g++ $(find . -type f -name "*.cpp" -not -path "./test/*") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then |
||||
gdb ./${PROJECT_NAME} "$@" |
||||
fi |
||||
fi |
||||
printf "\n\n" |
||||
|
@ -1,7 +1,7 @@ |
||||
build.sh:ca58f10d4e30d807987ea0105930ae51 - |
||||
commit.sh:d03a46e721060c22ccb146e19d27e70a - |
||||
debug.sh:abbbb0c6d9f2409f3a90738ab3d9d44f - |
||||
debug.sh:131aac078fc1ae3c2278209a09e99a3d - |
||||
lines.sh:3b907786f7fc9204025993016c9080de - |
||||
release.sh:a54e2002be80814cc1293a11dff4d116 - |
||||
release.sh:0a525311cc14b9c8aefc6f2b816129a1 - |
||||
temp:d41d8cd98f00b204e9800998ecf8427e - |
||||
web.sh:3dcc2fe7e036359eedd257a864e9a1e1 - |
||||
web.sh:96f2c316536011a3defac50aecae487d - |
||||
|
@ -1,7 +1,7 @@ |
||||
#Creates a release build that focuses on high runtime performance. |
||||
#C++ |
||||
printf "Running program...\n\n\n" |
||||
if g++ $(find . -type f -name "*.cpp") ${CUSTOM_PARAMS} -O3 -s -DNDEBUG -o ${PROJECT_NAME}; then |
||||
if g++ $(find . -type f -name "*.cpp" -not -path "./test/*") ${CUSTOM_PARAMS} -O3 -s -DNDEBUG -o ${PROJECT_NAME}; then |
||||
./${PROJECT_NAME} "$@" |
||||
fi |
||||
printf "\n\n" |
||||
|
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
@ -1,50 +1,51 @@ |
||||
#include <iostream> |
||||
#include <map> |
||||
#define OLC_PGE_APPLICATION |
||||
#include "pixelGameEngine.h" |
||||
#include <memory> |
||||
using namespace olc; |
||||
|
||||
int main() { |
||||
std::map<std::string,bool> vals; |
||||
for (int i=1;i<=15;i++) { |
||||
for (int j=1;j<=15;j++) { |
||||
for (int k=1;k<=15;k++) { |
||||
if (i+j+k==15) { |
||||
std::string testStr; |
||||
int val1=i,val2=j,val3=k; |
||||
if (i<j&&i<k) { |
||||
val1=i; |
||||
if (j<k) { |
||||
val2=j; |
||||
val3=k; |
||||
} else { |
||||
val2=k; |
||||
val3=j; |
||||
} |
||||
} |
||||
if (j<i&&j<k) { |
||||
val1=j; |
||||
if (i<k) { |
||||
val2=i; |
||||
val3=k; |
||||
} else { |
||||
val2=k; |
||||
val3=i; |
||||
} |
||||
} |
||||
if (k<i&&k<j) { |
||||
val1=k; |
||||
if (i<j) { |
||||
val2=i; |
||||
val3=j; |
||||
} else { |
||||
val2=j; |
||||
val3=i; |
||||
} |
||||
} |
||||
if (!vals.count(std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3))) { |
||||
std::cout<<std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3)<<std::endl; |
||||
vals[std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3)]=true; |
||||
} |
||||
} |
||||
struct myStruct{ |
||||
std::string name=""; |
||||
int level=1; |
||||
}; |
||||
std::vector<std::weak_ptr<myStruct>> vals; |
||||
|
||||
void AddVal(std::weak_ptr<myStruct>newVal) { |
||||
auto findVal=std::find_if(vals.begin(),vals.end(), |
||||
[&newVal](std::weak_ptr<myStruct>&val) |
||||
{ |
||||
return val.lock()->name==newVal.lock()->name; |
||||
} |
||||
} |
||||
); |
||||
if (findVal!=vals.end()) { |
||||
std::cout<<"Value "<<newVal.lock()->name<<" already exists."<<std::endl; |
||||
findVal->lock()->level++; |
||||
std::cout<<findVal->lock()->name+" is now level "<<findVal->lock()->level<<std::endl; |
||||
} else { |
||||
std::cout<<"Value "<<newVal.lock()->name<<" does not exist."<<std::endl; |
||||
vals.push_back(newVal); |
||||
std::cout<<newVal.lock()->name+" is now level "<<vals[vals.size()-1].lock()->level<<std::endl; |
||||
} |
||||
} |
||||
|
||||
int main() { |
||||
std::shared_ptr<myStruct> myPtr1=std::make_shared<myStruct>(); |
||||
std::shared_ptr<myStruct> myPtr2=std::make_shared<myStruct>(); |
||||
std::shared_ptr<myStruct> myPtr3=std::make_shared<myStruct>(); |
||||
std::shared_ptr<myStruct> myPtr4=std::make_shared<myStruct>(); |
||||
|
||||
std::weak_ptr<myStruct> refPtr1=myPtr1; |
||||
std::weak_ptr<myStruct> refPtr2=myPtr2; |
||||
std::weak_ptr<myStruct> refPtr3=myPtr3; |
||||
std::weak_ptr<myStruct> refPtr4=myPtr2; |
||||
|
||||
refPtr1.lock()->name="Test Upgrade 1"; |
||||
refPtr2.lock()->name="Test Upgrade 2"; |
||||
refPtr3.lock()->name="Test Upgrade 3"; |
||||
|
||||
std::cout<<(refPtr2.lock()==refPtr4.lock())<<std::endl; |
||||
|
||||
AddVal(refPtr1); |
||||
AddVal(refPtr2); |
||||
AddVal(refPtr3); |
||||
AddVal(refPtr4); |
||||
} |
Loading…
Reference in new issue