Commit Graph

558 Commits (01679ed9bee037b0e0019ebcb79594778ec3c033)

Author SHA1 Message Date
Daniel Kolesa bcb5f64250 str fixes 2015-08-01 04:29:26 +01:00
Daniel Kolesa 49af758238 explicit overloads of operator= on string for ptr/array because c++ type system blows 2015-08-01 04:19:37 +01:00
Daniel Kolesa bc2bd9ca3b hashtable fixes 2015-08-01 04:11:03 +01:00
Daniel Kolesa c66fa7c7bf forgot inline 2015-08-01 03:08:11 +01:00
Daniel Kolesa 0ceada8629 allow default ctor on PointerRange 2015-07-29 01:37:22 +01:00
Daniel Kolesa df4b169aa8 better range constraints 2015-07-28 02:40:24 +01:00
Daniel Kolesa bf8be04b01 actual warning fix 2015-07-26 19:08:47 +01:00
Daniel Kolesa 3fbaedbfc2 prevent compiler warnings on 32bit (code is not reached, but compilers complain) 2015-07-26 18:57:23 +01:00
Daniel Kolesa 5cf1c9feff more versions of vec operators 2015-07-26 15:26:52 +01:00
Daniel Kolesa f96e74902a more vector stuff 2015-07-26 15:18:41 +01:00
Daniel Kolesa b4619085b7 basic vector operations 2015-07-26 15:05:12 +01:00
Daniel Kolesa ea024ea80e vecmath constructors and relational operators 2015-07-26 14:53:09 +01:00
Daniel Kolesa 431bfa4dc8 initial skeleton for octastd vector math lib 2015-07-26 04:03:13 +01:00
Daniel Kolesa 841000d4d8 better string append() and operator+= (easy ranged append) 2015-07-25 02:34:07 +01:00
Daniel Kolesa 6c28e6dd66 fixed typo 2015-07-25 02:07:51 +01:00
Daniel Kolesa 178e6d2ae2 remove AnyString 2015-07-25 01:35:36 +01:00
Daniel Kolesa 90bc301487 reliable and simple string relational operators that work on ConstCharRange 2015-07-24 19:43:39 +01:00
Daniel Kolesa 7ede73f4dc sink based concat() (no allocation in-func) 2015-07-23 02:05:08 +01:00
Daniel Kolesa 287bdbd312 contiguous ranges provide the data() method to retrieve a pointer to the sequence 2015-07-23 01:32:22 +01:00
Daniel Kolesa 7fc4ce0a3a new range category: ContiguousRange (guaranteed to be backed by contiguous memory) 2015-07-23 01:28:25 +01:00
Daniel Kolesa 0e0ba19ead stricter to_format check 2015-07-23 00:48:32 +01:00
Daniel Kolesa ad2d69e83d use a sink for to_string methods on objects (no extra allocs) 2015-07-23 00:44:23 +01:00
Daniel Kolesa 9446470f3c use ConstCharRange for concat separator 2015-07-22 21:10:04 +01:00
Daniel Kolesa 13ca140b63 string ctor for pointer and literal because c++ semantics suck 2015-07-22 21:01:02 +01:00
Daniel Kolesa 161ab5be85 cleaned up constructors/assign ops for string and vector 2015-07-22 20:51:12 +01:00
Daniel Kolesa b9edc0c568 rewritten and simplified write(f/ln) on stream objects 2015-07-22 02:06:36 +01:00
Daniel Kolesa debbddc8da format cleanups (and add convenience method put_string to the to_format range) 2015-07-22 01:53:55 +01:00
Daniel Kolesa b2d656e481 use ConstCharRange when formatting strings 2015-07-22 01:30:23 +01:00
Daniel Kolesa 5786fc5fb7 user defined literal for const char ranges 2015-07-22 00:13:44 +01:00
Daniel Kolesa 458e0b8b87 use ConstCharRange for streams 2015-07-21 22:30:53 +01:00
Daniel Kolesa a84142474c io.hh cleanup 2015-07-21 22:21:54 +01:00
Daniel Kolesa 7a2f8581d7 StringRange -> CharRange 2015-07-21 22:06:23 +01:00
Daniel Kolesa f2082d17cd use string ranges everywhere else in format 2015-07-21 22:03:57 +01:00
Daniel Kolesa 874f8a3c14 use string ranges in format 2015-07-21 21:45:04 +01:00
Daniel Kolesa 7a0237788f ConstStringRange ToString specialization 2015-07-21 20:25:09 +01:00
Daniel Kolesa aa9bdb3ec2 better StringRange from-string ctor (allows for non-const to const conv semantics) 2015-07-21 20:23:31 +01:00
Daniel Kolesa 5d36b5663c StringRange - differentiate between arrays and pointer constructors 2015-07-21 20:19:27 +01:00
Daniel Kolesa 852ae9ea37 better hashtable erase 2015-07-21 02:11:53 +01:00
Daniel Kolesa 71f5df79ce better multihash insertion strategy (make sure elements with equal keys always form a sequence in a bucket) 2015-07-21 01:37:02 +01:00
Daniel Kolesa 8e40fca1ce hash fixes/cleanups and make at() return a pointer 2015-07-20 22:04:52 +01:00
Daniel Kolesa 56629ff358 bucket list cleanup 2015-07-20 21:56:56 +01:00
Daniel Kolesa 0421e7b3c8 use calls to bucket() to get hashes 2015-07-20 21:08:49 +01:00
Daniel Kolesa 0c297af0bd hash chunk cache line boundary alignment optimization 2015-07-20 18:51:16 +01:00
Daniel Kolesa cc0fccb8cf use fnv-1a hashing instead of djb2 2015-07-20 02:20:35 +01:00
Daniel Kolesa a048a5384c use mem_hash for hashing strings 2015-07-20 02:15:12 +01:00
Daniel Kolesa 453b463ce6 optimize hashtable to use small ranges (but larger nodes) 2015-07-20 02:08:30 +01:00
Daniel Kolesa 3613af3daa alloc an extra bucket ptr as trailing sentinel value (for later usage) 2015-07-20 00:50:31 +01:00
Daniel Kolesa d7c789195a string fixes 2015-07-18 17:01:11 +01:00
Daniel Kolesa 53e292cdb0 _s literal for strings 2015-07-18 01:02:13 +01:00
Daniel Kolesa a6584020a3 signal.hh -> event.hh, Event -> Signal 2015-07-17 19:00:25 +01:00
Daniel Kolesa e9cf0c67ed more signal functionality 2015-07-16 20:49:12 +01:00
Daniel Kolesa 58cbe3873c recycle signal slots 2015-07-16 19:21:51 +01:00
Daniel Kolesa 8327022c67 signal const correctness 2015-07-16 18:55:21 +01:00
Daniel Kolesa b22baaf5fd const for emit 2015-07-16 01:42:35 +01:00
Daniel Kolesa b20e32a8b6 add Event::clear 2015-07-16 01:40:58 +01:00
Daniel Kolesa 01ebb0063c add new signal API 2015-07-16 01:37:37 +01:00
Daniel Kolesa 267e14c1c2 Maybe fix 2015-07-15 22:03:51 +01:00
Daniel Kolesa 1c4f04757d mv the octa directory too 2015-07-13 20:10:29 +01:00