Skip to content

burntham/varsity.CSC3022H.assignment4

Repository files navigation

Daniel Burnham-King c++ Assignment 4 Templates, ciphers, STL and Traits

Compilation: navigate to the folder in which the below mentioned .cpp files are stored (assuming that by you reading this, the tarball is already extracted). Typing 'make' will compile the program.

Make encode and Make decode will also both compile the program (more later).

Note : tested with g++ -std=11

Execution: As mentioned before, this assignment can be run by typing 'make encode' or 'make decode' in terminal.

The make file can be used to specify input/output files, grouping, cipher and key and the file name easily (refer to comments in makefile)

if this is not wanted, then after compilation type './ciph.out' in terminal with the commands specified in the assignment brief. (-x key -i in,txt etc)

NOTE: The makefile has been constructed to make the readers life easier.

FileList:

Driver.cpp: Contains main and templated functions which aid in the calling of the correct cipher combination

CipherPolicies.h: Templated Policies used for Grouping, Encoding and Decoding. note: This is where Packing would have been placed

CipherTraits.h: This holds the KeyTrait templated class - this is used as a trait of the ciphers to simplify key input. (refer to templated functions in driver.cpp)

crypt.h: Crypt class, used to create a crypt object that stores the key (keytype found using KeyTrait in CipherTrait.h). Aswell as making use of Cipher polices for encoding.

CipherTypes.h: Contains Type classes used for templating

Makfile: This awesome piece of awesomness can (I hope) be used for more than just compiling - check it out :)

Readme.txt: I don't think a description is required, here's a video of an old lady using a VR headset http://www.youtube.com/watch?v=pAC5SeNH8jw

in.txt, out.txt: Used for input and output.

NOTE: Packing has not been implemented - everything else seems to work though

TLDR?: No packing. Use Makefile. lower case is always converted to upper (for everything) None alphanumeric are mapped to '?'. Give ALL the marks. :D

About

C++ STL, Traits and ciphers Assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published