Formating
parent
67587c663d
commit
a2b0da0a57
|
@ -1,6 +1,6 @@
|
||||||
[*.d]
|
[*.d]
|
||||||
charset = UTF-8
|
charset = UTF-8
|
||||||
dfmt_align_switch_statements = true
|
dfmt_align_switch_statements = false
|
||||||
dfmt_brace_style = allman
|
dfmt_brace_style = allman
|
||||||
dfmt_compact_labeled_statements = true
|
dfmt_compact_labeled_statements = true
|
||||||
dfmt_keep_line_breaks = false
|
dfmt_keep_line_breaks = false
|
||||||
|
|
|
@ -42,23 +42,23 @@ private
|
||||||
{
|
{
|
||||||
// Base format type size
|
// Base format type size
|
||||||
size_t base_size = 0;
|
size_t base_size = 0;
|
||||||
final switch(this.format_type)
|
final switch (this.format_type)
|
||||||
{
|
{
|
||||||
case FORMAT_TYPE.STRING:
|
case FORMAT_TYPE.STRING:
|
||||||
case FORMAT_TYPE.INT_8:
|
case FORMAT_TYPE.INT_8:
|
||||||
case FORMAT_TYPE.UINT_8:
|
case FORMAT_TYPE.UINT_8:
|
||||||
base_size = 1;
|
base_size = 1;
|
||||||
break;
|
break;
|
||||||
case FORMAT_TYPE.INT_16:
|
case FORMAT_TYPE.INT_16:
|
||||||
case FORMAT_TYPE.UINT_16:
|
case FORMAT_TYPE.UINT_16:
|
||||||
base_size = 2;
|
base_size = 2;
|
||||||
break;
|
break;
|
||||||
case FORMAT_TYPE.INT_32:
|
case FORMAT_TYPE.INT_32:
|
||||||
case FORMAT_TYPE.UINT_32:
|
case FORMAT_TYPE.UINT_32:
|
||||||
base_size = 4;
|
base_size = 4;
|
||||||
break;
|
break;
|
||||||
case FORMAT_TYPE.INT_64:
|
case FORMAT_TYPE.INT_64:
|
||||||
case FORMAT_TYPE.UINT_64:
|
case FORMAT_TYPE.UINT_64:
|
||||||
base_size = 8;
|
base_size = 8;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ private
|
||||||
}
|
}
|
||||||
|
|
||||||
static pure Element genFromString(string data)
|
static pure Element genFromString(string data)
|
||||||
in(data.length > 0, "Format can't be empty.")
|
in (data.length > 0, "Format can't be empty.")
|
||||||
{
|
{
|
||||||
// Pre checks
|
// Pre checks
|
||||||
size_t current_pos = 0;
|
size_t current_pos = 0;
|
||||||
|
@ -76,7 +76,7 @@ private
|
||||||
// Read endian
|
// Read endian
|
||||||
bool endian_explicit = false;
|
bool endian_explicit = false;
|
||||||
Endian endian_found = std.system.endian;
|
Endian endian_found = std.system.endian;
|
||||||
switch(data[0])
|
switch (data[0])
|
||||||
{
|
{
|
||||||
case '=':
|
case '=':
|
||||||
endian_found = std.system.endian;
|
endian_found = std.system.endian;
|
||||||
|
@ -89,7 +89,7 @@ private
|
||||||
endian_explicit = true;
|
endian_explicit = true;
|
||||||
break;
|
break;
|
||||||
case '!':
|
case '!':
|
||||||
case '>':
|
case '>':
|
||||||
endian_found = Endian.bigEndian;
|
endian_found = Endian.bigEndian;
|
||||||
current_pos++;
|
current_pos++;
|
||||||
endian_explicit = true;
|
endian_explicit = true;
|
||||||
|
@ -100,21 +100,21 @@ private
|
||||||
// Get size
|
// Get size
|
||||||
bool set_size = false;
|
bool set_size = false;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
while((current_pos < data.length) && ('0' <= data[current_pos]) && (data[current_pos] <= '9'))
|
while ((current_pos < data.length) && ('0' <= data[current_pos]) && (data[current_pos] <= '9'))
|
||||||
{
|
{
|
||||||
set_size = true;
|
set_size = true;
|
||||||
size = (size * 10) + (data[current_pos] - '0');
|
size = (size * 10) + (data[current_pos] - '0');
|
||||||
current_pos++;
|
current_pos++;
|
||||||
}
|
}
|
||||||
if(!set_size)
|
if (!set_size)
|
||||||
{
|
{
|
||||||
size = 1;
|
size = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get format
|
// Get format
|
||||||
assert(current_pos + 1 == data.length, "Format '" ~ data[current_pos..$] ~ "' isn't a valid format type.");
|
assert(current_pos + 1 == data.length, "Format '" ~ data[current_pos .. $] ~ "' isn't a valid format type.");
|
||||||
FORMAT_TYPE format_type_found;
|
FORMAT_TYPE format_type_found;
|
||||||
switch(data[current_pos])
|
switch (data[current_pos])
|
||||||
{
|
{
|
||||||
case 'b':
|
case 'b':
|
||||||
format_type_found = FORMAT_TYPE.INT_8;
|
format_type_found = FORMAT_TYPE.INT_8;
|
||||||
|
@ -154,7 +154,7 @@ private
|
||||||
current_pos++;
|
current_pos++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(false, "Unknown format string: '" ~ data[current_pos..$] ~ "'");
|
assert(false, "Unknown format string: '" ~ data[current_pos .. $] ~ "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Warn if endian isn't set explicit
|
// TODO: Warn if endian isn't set explicit
|
||||||
|
@ -168,7 +168,7 @@ private
|
||||||
|
|
||||||
template GET_TYPE(Element ELEMENT)
|
template GET_TYPE(Element ELEMENT)
|
||||||
{
|
{
|
||||||
static if(ELEEMENT.format_type == FORMAT_TYPE.STRING)
|
static if (ELEEMENT.format_type == FORMAT_TYPE.STRING)
|
||||||
{
|
{
|
||||||
alias GET_TYPE = string;
|
alias GET_TYPE = string;
|
||||||
}
|
}
|
||||||
|
@ -198,11 +198,11 @@ private
|
||||||
Element[] elements = [];
|
Element[] elements = [];
|
||||||
size_t pos = 0;
|
size_t pos = 0;
|
||||||
size_t last = 0;
|
size_t last = 0;
|
||||||
while(pos < source.length)
|
while (pos < source.length)
|
||||||
{
|
{
|
||||||
if((source[pos] >= 'a' && source[pos] <= 'z') || (source[pos] >= 'A' && source[pos] <= 'Z'))
|
if ((source[pos] >= 'a' && source[pos] <= 'z') || (source[pos] >= 'A' && source[pos] <= 'Z'))
|
||||||
{
|
{
|
||||||
elements ~= [Element.genFromString(source[last..pos + 1])];
|
elements ~= [Element.genFromString(source[last .. pos + 1])];
|
||||||
last = pos + 1;
|
last = pos + 1;
|
||||||
}
|
}
|
||||||
pos++;
|
pos++;
|
||||||
|
@ -353,7 +353,7 @@ private
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
const auto tmp = parse_string("<16i>16i=16i!16i");
|
const auto tmp = parse_string("<16i>16i=16i!16i");
|
||||||
foreach(i; tmp)
|
foreach (i; tmp)
|
||||||
{
|
{
|
||||||
assert(i.is_array == true);
|
assert(i.is_array == true);
|
||||||
assert(i.array_size == 16);
|
assert(i.array_size == 16);
|
||||||
|
@ -408,7 +408,7 @@ private
|
||||||
{
|
{
|
||||||
auto tmp = parse_string(FORMAT);
|
auto tmp = parse_string(FORMAT);
|
||||||
size_t calced = 0;
|
size_t calced = 0;
|
||||||
foreach(i; tmp)
|
foreach (i; tmp)
|
||||||
{
|
{
|
||||||
calced += i.packSize();
|
calced += i.packSize();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue