Skip to content

Commit

Permalink
Added c++ version of the name generator
Browse files Browse the repository at this point in the history
  • Loading branch information
Kronuz committed Sep 22, 2015
1 parent 82bd43a commit 7aba089
Show file tree
Hide file tree
Showing 4 changed files with 892 additions and 0 deletions.
18 changes: 18 additions & 0 deletions c++/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
CC = g++
CFLAGS = -g -Wall -O2 -std=c++11

TARGET = namegen

all: namegen

namegen: namegen.o example.o
$(CC) $(CFLAGS) -o namegen namegen.o example.o

namegen.o: namegen.cc
$(CC) $(CFLAGS) -c namegen.cc

example.o: example.cc
$(CC) $(CFLAGS) -c example.cc

clean:
$(RM) namegen *.o
33 changes: 33 additions & 0 deletions c++/example.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "namegen.h"

#include <stdio.h>
#include <clocale>
#include <iostream>


int main(int argc, char **argv)
{
int num = 1;
std::setlocale(LC_CTYPE, "");
if (argc < 2 || argc > 3 || (argc == 3 && (num = atoi(argv[2])) && num == -1)) {
std::cerr << "Usage: " << argv[0] << " <pattern> [num]\n";
std::cerr << " pattern - Template for names to generate.\n";
std::cerr << " num - Number of names to generate.\n";
return 64;
}

char * pattern = argv[1];
// std::cerr << "> pattern = " << pattern << "\n";

NameGen::Generator generator(pattern);

std::cerr << "> combinations = " << generator.combinations() << "\n";
// std::cerr << "> min = " << generator.min() << "\n";
// std::cerr << "> max = " << generator.max() << "\n";

for (int i = 0; i < num; i++) {
std::cout << generator.toString() << "\n";
}

return 0;
}
Loading

0 comments on commit 7aba089

Please sign in to comment.